修改屏蔽门门控箱ecs逻辑引起的bug

This commit is contained in:
thesai 2024-02-19 13:39:24 +08:00
parent aaeb3236a8
commit 7ec4eb44e4

View File

@ -94,31 +94,56 @@ func (p *PsdSys) Update(world ecs.World) {
// 门控箱按钮驱动继电器
func mkxBtnDriveRelay(mkx *component.Mkx, pmc *component.PlatformMkxCircuit, psdCircuit *component.PsdCircuit) {
//PCB
pcbpl := component.BitStateType.Get(mkx.PCBPL).Val
pcb := component.BitStateType.Get(mkx.PCB).Val
component.RelayDriveType.Get(pmc.PCBJ).Td = !pcbpl && pcb
if mkx.PCB != nil {
pcb := component.BitStateType.Get(mkx.PCB).Val
pcbpl := false
if mkx.PCBPL != nil {
pcbpl = component.BitStateType.Get(mkx.PCBPL).Val
}
component.RelayDriveType.Get(pmc.PCBJ).Td = !pcbpl && pcb
}
//POB
pobpl := component.BitStateType.Get(mkx.POBPL).Val
pob := component.BitStateType.Get(mkx.POB).Val
component.RelayDriveType.Get(pmc.POBJ).Td = !pobpl && pob
if mkx.POB != nil {
pob := component.BitStateType.Get(mkx.POB).Val
pobpl := false
if mkx.POBPL != nil {
pobpl = component.BitStateType.Get(mkx.POBPL).Val
}
component.RelayDriveType.Get(pmc.POBJ).Td = !pobpl && pob
}
//PAB
pabpl := component.BitStateType.Get(mkx.PABPL).Val
pab := component.BitStateType.Get(mkx.PAB).Val
component.RelayDriveType.Get(pmc.PABJ).Td = !pabpl && pab
if mkx.PAB != nil {
pab := component.BitStateType.Get(mkx.PAB).Val
pabpl := false
if mkx.PABPL != nil {
pabpl = component.BitStateType.Get(mkx.PABPL).Val
}
component.RelayDriveType.Get(pmc.PABJ).Td = !pabpl && pab
}
//WRZF
wrzfpl := component.BitStateType.Get(mkx.WRZFPL).Val
wrzf := component.BitStateType.Get(mkx.WRZF).Val
component.RelayDriveType.Get(pmc.WRZFJ).Td = !wrzfpl && wrzf
if mkx.WRZF != nil {
wrzf := component.BitStateType.Get(mkx.WRZF).Val
wrzfpl := false
if mkx.WRZFPL != nil {
wrzfpl = component.BitStateType.Get(mkx.WRZFPL).Val
}
component.RelayDriveType.Get(pmc.WRZFJ).Td = !wrzfpl && wrzf
}
//QKQR
qkqrpl := component.BitStateType.Get(mkx.QKQRPL).Val
qkqr := component.BitStateType.Get(mkx.QKQR).Val
component.RelayDriveType.Get(pmc.QKQRJ).Td = !qkqrpl && qkqr
if mkx.QKQR != nil {
qkqr := component.BitStateType.Get(mkx.QKQR).Val
qkqrpl := false
if mkx.QKQRPL != nil {
qkqrpl = component.BitStateType.Get(mkx.QKQRPL).Val
}
component.RelayDriveType.Get(pmc.QKQRJ).Td = !qkqrpl && qkqr
}
//MPL
if psdCircuit != nil {
if psdCircuit != nil && mkx.MPL != nil {
component.RelayDriveType.Get(psdCircuit.MPLJ).Td = component.BitStateType.Get(mkx.MPL).Val
}
//JXTCPL
if psdCircuit != nil {
if psdCircuit != nil && mkx.JXTCPL != nil {
component.RelayDriveType.Get(psdCircuit.JXTCPLJ).Td = component.BitStateType.Get(mkx.JXTCPL).Val
}
}