修改屏蔽门门控箱ecs逻辑引起的bug
This commit is contained in:
parent
aaeb3236a8
commit
7ec4eb44e4
@ -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
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user