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

This commit is contained in:
thesai 2024-02-19 14:01:47 +08:00
parent 7ec4eb44e4
commit 7694e09223

View File

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