rts-sim-module/component/ibp.go
2023-10-20 13:13:44 +08:00

124 lines
2.5 KiB
Go

package component
import "joylink.club/ecs"
// 按钮标签
var (
// IBP
IBP = ecs.NewTag()
// 按钮标签
ButtonTag = ecs.NewTag()
// 未知按钮
UnknowBtn = ecs.NewTag()
// 非自复式按下接通式按钮
NoResetPressBtn = ecs.NewTag()
// 非自复式拉起接通式按钮
NoResetUpBtn = ecs.NewTag()
// 自复式按下接通式按钮
ResetPressBtn = ecs.NewTag()
// 自复式拉起接通式按钮
ResetUpBtn = ecs.NewTag()
// 钥匙旋钮
KeyKnob = ecs.NewTag()
// 警铃标签
AlarmTag = ecs.NewTag()
// 灯标签
LightTag = ecs.NewTag()
// 钥匙标签
KeyTag = ecs.NewTag()
)
// 带单灯设备
type SingleLight struct {
Light *ecs.Entry
}
var SingleLightType = ecs.NewComponentType[SingleLight]()
// 蜂鸣器驱动
type AlarmDrive struct {
Td bool
}
// 蜂鸣器驱动组件
var AlarmDriveType = ecs.NewComponentType[AlarmDrive]()
// 挡位组件
type GearState struct {
Val int
}
var GearStateType = ecs.NewComponentType[GearState]()
// SPK继电器控制电路
type SpkElectronic struct {
// 控制区
SPKSXPLA_BTN *ecs.Entry
SPKSX1J_KEY *ecs.Entry
SPKSX3J_KEY *ecs.Entry
SPKSSPLA_BTN *ecs.Entry
SPKSS2J_KEY *ecs.Entry
SPKSS4J_KEY *ecs.Entry
// 表示区
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
SDA *ecs.Entry
}
// SPK继电器元器件组件
var SpkElectronicType = ecs.NewComponentType[SpkElectronic]()
// SPK采集电路吸起、落下接通状态
type SpkCollectState struct {
SPKSX1J_XQ bool
SPKSX3J_XQ bool
SPKSS2J_XQ bool
SPKSS4J_XQ bool
SPKSXPLA_XQ bool
SPKSSPLA_XQ bool
}
var SpkCollectStateType = ecs.NewComponentType[SpkCollectState]()
// EMP 电路
type EmpElectronic struct {
// 控制区
EMP1_BTN *ecs.Entry
EMP3_BTN *ecs.Entry
EMP5_BTN *ecs.Entry
EMPX_BTN *ecs.Entry
XEMPFA_BTN *ecs.Entry
EMP2_BTN *ecs.Entry
EMP4_BTN *ecs.Entry
EMP6_BTN *ecs.Entry
EMPS_BTN *ecs.Entry
SEMPFA_BTN *ecs.Entry
// 表示区
XEMPJ *ecs.Entry // 继电器
XEMPD *ecs.Entry
SEMPJ *ecs.Entry // 继电器
SEMPD *ecs.Entry
SDA *ecs.Entry // 按钮
QBA *ecs.Entry // 非自复位按钮
Alarm *ecs.Entry // 蜂鸣器
}
var EmpElectronicType = ecs.NewComponentType[EmpElectronic]()
// EMP 采集电路吸起、落下接通状态
type EmpCollectState struct {
XEMPJ_XQ bool
SEMPJ_XQ bool
}
var EmpCollectStateType = ecs.NewComponentType[EmpCollectState]()