rts-sim-module/component/ibp.go

98 lines
2.0 KiB
Go
Raw Normal View History

package component
import "joylink.club/ecs"
// 按钮标签
var (
2023-10-12 13:47:57 +08:00
// IBP
IBP = ecs.NewTag()
2023-10-18 11:17:08 +08:00
// 按钮标签
ButtonTag = ecs.NewTag()
2023-10-12 13:47:57 +08:00
// 未知按钮
UnknowBtn = ecs.NewTag()
// 非自复式按下接通式按钮
NoResetPressBtn = ecs.NewTag()
// 非自复式拉起接通式按钮
NoResetUpBtn = ecs.NewTag()
// 自复式按下接通式按钮
ResetPressBtn = ecs.NewTag()
// 自复式拉起接通式按钮
ResetUpBtn = ecs.NewTag()
2023-10-12 13:47:57 +08:00
// 钥匙旋钮
2023-10-12 15:03:11 +08:00
KeyKnob = ecs.NewTag()
2023-10-18 11:17:08 +08:00
// 警铃标签
AlarmTag = ecs.NewTag()
// 灯标签
LightTag = ecs.NewTag()
2023-10-20 13:13:44 +08:00
// 钥匙标签
KeyTag = ecs.NewTag()
)
2023-10-18 11:17:08 +08:00
// 带单灯设备
type SingleLight struct {
Light *ecs.Entry
}
var SingleLightType = ecs.NewComponentType[SingleLight]()
// 蜂鸣器驱动
2023-10-12 17:46:43 +08:00
type AlarmDrive struct {
Td bool
}
// 蜂鸣器驱动组件
2023-10-12 17:46:43 +08:00
var AlarmDriveType = ecs.NewComponentType[AlarmDrive]()
2023-10-20 13:13:44 +08:00
// 挡位组件
type GearState struct {
2024-02-06 10:49:46 +08:00
//Bypass
2023-10-20 13:20:05 +08:00
Val int32
2023-10-20 13:13:44 +08:00
}
var GearStateType = ecs.NewComponentType[GearState]()
// SPK继电器控制电路
2023-10-12 13:47:57 +08:00
type SpkElectronic struct {
// 控制区
SPKSXPLA_BTN *ecs.Entry
2023-10-12 15:03:11 +08:00
SPKSX1J_KEY *ecs.Entry
SPKSX3J_KEY *ecs.Entry
SPKSSPLA_BTN *ecs.Entry
2023-10-12 15:03:11 +08:00
SPKSS2J_KEY *ecs.Entry
SPKSS4J_KEY *ecs.Entry
2023-10-12 13:47:57 +08:00
// 表示区
SPKSX1J *ecs.Entry
SPKSX3J *ecs.Entry
SPKSS2J *ecs.Entry
SPKSS4J *ecs.Entry
SPKSXPLAJ *ecs.Entry
SPKSSPLAJ *ecs.Entry
SPKSX1D *ecs.Entry
SPKSX3D *ecs.Entry
SPKSS2D *ecs.Entry
SPKSS4D *ecs.Entry
2023-10-12 13:47:57 +08:00
SDA *ecs.Entry
}
// SPK继电器元器件组件
2023-10-12 13:47:57 +08:00
var SpkElectronicType = ecs.NewComponentType[SpkElectronic]()
2023-12-06 16:43:29 +08:00
// EMP 电路设备
type EmpDeviceElectronic struct {
EMP_BTNS []*ecs.Entry // 紧急关闭按钮
EMPFA_BTN *ecs.Entry // 复原按钮
EMPD *ecs.Entry // 指示灯
EMPJ *ecs.Entry // 继电器
2023-10-12 10:25:01 +08:00
}
2023-10-12 13:47:57 +08:00
// EMP 电路
type EmpElectronic struct {
2023-12-06 16:43:29 +08:00
EMPJMap map[string]*EmpDeviceElectronic
SDA *ecs.Entry // 按钮
QBA *ecs.Entry // 非自复位按钮
Alarm *ecs.Entry // 蜂鸣器
}
2023-10-12 13:47:57 +08:00
var EmpElectronicType = ecs.NewComponentType[EmpElectronic]()