package system import ( "github.com/yohamta/donburi/filter" "joylink.club/ecs" "joylink.club/rtsssimulation/components" "joylink.club/rtsssimulation/state" ) type SignalSystem struct { } // 信号机显示状态查询 var signalDisplayQuery *ecs.Query = ecs.NewQuery(filter.Contains(components.ComDeviceIdentity, components.ComSignalState)) // world 执行 func (me *SignalSystem) Update(world ecs.World) { } // 设置某个信号机的显示 // 返回值:true-设置成功,false-设置失败 func SetSignalDisplay(w ecs.World, signalId string, display state.SignalAspect) bool { var signalState *state.SignalState // signalDisplayQuery.Each(w, func(e *ecs.Entry) { if components.ComDeviceIdentity.Get(e).Id == signalId { signalState = components.ComSignalState.Get(e) } }) // if nil == signalState { return false } // signalState.Display = display // return true }