package memory import ( "joylink.club/bj-rtsts-server/config" "joylink.club/bj-rtsts-server/dto/state_proto" "joylink.club/bj-rtsts-server/third_party/message" ) // 获取半实物运行配置信息 func (s *VerifySimulation) GetSemiPhysicalRunConfig() *config.VobcConfig { return &s.runConfig.Vobc } // 处理半实物仿真列车控制消息 func (s *VerifySimulation) HandleSemiPhysicalTrainControlMsg(b []byte) { s.Memory.Status.TrainStateMap.Range(func(_, value any) bool { train := value.(*state_proto.TrainState) if !train.Show { // 下线列车 return true } connState := train.ConnState if connState.Conn == true && connState.ConnType == state_proto.TrainConnState_VOBC { /*trainId, err := strconv.Atoi(train.Id) if err != nil { panic(dto.ErrorDto{Code: dto.ArgumentParseError, Message: err.Error()}) }*/ // 存放至列车中 //接收半实物列车控制不单独发送动力学,由动力学统一发送 //d := append(b, uint8(trainId)) //dynamics.Default().SendTrainControlMessage(d) controlMessage := &message.TrainControlMsg{} controlMessage.Decode(b) controlMessage.TrainId = train.Id controlMessage.FromVobc = true train.VobcState = controlMessage.ControlInfo return false } return true }) } // 处理半实物仿真列车控制消息 func (s *VerifySimulation) HandleSemiPhysicalTrainControlMsg2(b []byte) { //train := s.GetConnVobcTrain() } func aaByte1() { }