From f514c1efddd175314ea04748feb8d32fd2f1f0ff Mon Sep 17 00:00:00 2001 From: xzb <223@qq.com> Date: Mon, 9 Oct 2023 15:13:24 +0800 Subject: [PATCH] fi signal 2xh1 --- fi/signal_2xh1.go | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/fi/signal_2xh1.go b/fi/signal_2xh1.go index 8220d83..7778f93 100644 --- a/fi/signal_2xh1.go +++ b/fi/signal_2xh1.go @@ -9,7 +9,7 @@ import ( // 2xh1信号机功能接口 // Drive2XH1Dd 点灯操作 -// dd : true-点灯,false-灭灯 +// dd : true-物理点灯,false-物理灭灯 func Drive2XH1Dd(w ecs.World, signalId string, dd bool) { w.Execute(func() { wd := entity.GetWorldData(w) @@ -23,17 +23,30 @@ func Drive2XH1Dd(w ecs.World, signalId string, dd bool) { }) } -// Drive2XH1Lx 列车信号操作 -// lx : true-允许列车通过信号,false-禁止列车通过信号 -func Drive2XH1Lx(w ecs.World, signalId string, lx bool) { +// Drive2XH1Lx 开通列车信号(绿灯亮) +func Drive2XH1Lx(w ecs.World, signalId string) { w.Execute(func() { wd := entity.GetWorldData(w) signalEntry, ok := wd.EntityMap[signalId] if ok { state := component.Signal2XH1ElectronicType.Get(signalEntry) drive := component.RelayDriveType.Get(state.Z2XH1_LXJ) - drive.Td = lx - drive.Xq = lx + drive.Td = true + drive.Xq = true + } + }) +} + +// Drive2XH1Non 开通禁止信号(红灯亮) +func Drive2XH1Non(w ecs.World, signalId string) { + w.Execute(func() { + wd := entity.GetWorldData(w) + signalEntry, ok := wd.EntityMap[signalId] + if ok { + state := component.Signal2XH1ElectronicType.Get(signalEntry) + drive := component.RelayDriveType.Get(state.Z2XH1_LXJ) + drive.Td = false + drive.Xq = false } }) }