rts-sim-module/sys/bind.go

75 lines
2.0 KiB
Go

package sys
import (
"joylink.club/ecs"
"joylink.club/rtsssimulation/sys/circuit_sys"
"joylink.club/rtsssimulation/sys/common_sys"
"joylink.club/rtsssimulation/sys/device_sys"
"joylink.club/rtsssimulation/sys/iscs_sys"
)
// 添加系统到World
func BindSystem(w ecs.World) {
w.AddSystem(NewWorldTimeSys(),
common_sys.NewCounterSys(),
common_sys.NewCounterDownSys(),
common_sys.NewTwoPositionMovementSys(),
device_sys.NewRelaySys(),
device_sys.NewDBQSys(),
device_sys.NewZzjSys(),
device_sys.NewTurnoutSys(),
device_sys.NewCiQcSys(),
circuit_sys.NewZdj9TwoDragSys(),
circuit_sys.NewSignal2XH1System(),
circuit_sys.NewSignal3XH1System(),
circuit_sys.NewSignal3XH2System(),
circuit_sys.NewSignal3XH3System(),
circuit_sys.NewSignal3XH4System(),
circuit_sys.NewSignalDCXHSystem(),
circuit_sys.NewSignalJCKXHSystem(),
circuit_sys.NewSignalJDXHSystem(),
circuit_sys.NewCkmSys(),
circuit_sys.NewXcjSys(),
device_sys.NewLightSys(),
//屏蔽门
circuit_sys.NewPsdSys(),
device_sys.NewAsdSys(),
// IBP
circuit_sys.NewIBPSys(),
device_sys.NewAlarmSys(),
//物理区段
device_sys.NewFaDcAxleDeviceSystem(),
device_sys.NewSectionDetectSystem(),
//应答器
device_sys.NewBaliseSystem(),
//电机
device_sys.NewMotorSystem(),
)
//ISCS system
bindIscsSystem(w)
}
// bindIscsSystem ISCS 系统
func bindIscsSystem(w ecs.World) {
w.AddSystem(
iscs_sys.NewIscsExceptionSystem(),
iscs_sys.NewDevicePlacingSystem(),
//
iscs_sys.NewPowerSourceSystem(),
iscs_sys.NewCircuitBreakerSystem(),
iscs_sys.NewDisconnectorSystem(),
iscs_sys.NewHandcartSystem(),
iscs_sys.NewThreePositionSwitchSystem(),
iscs_sys.NewPipeFittingSystem(),
iscs_sys.NewRectifierSystem(),
iscs_sys.NewVoltageTransformerSystem(),
iscs_sys.NewLightningArresterSystem(),
iscs_sys.NewPowerPipeSystem(),
iscs_sys.NewEarthingDeviceSystem(),
//
iscs_sys.NewNetworkSwitchSystem(),
iscs_sys.NewWireCabinetSystem(),
iscs_sys.NewFanSystem(),
iscs_sys.NewValveSystem())
}