【增加修改列车状态方法】
This commit is contained in:
parent
33cceef0c8
commit
ff7047cdee
@ -18,7 +18,27 @@ func AddTrainState(simulation *VerifySimulation, status *state.TrainState) {
|
||||
// 将信息合并到当前设备状态中
|
||||
allTrainMap.Store(status.Id, status)
|
||||
// 将变更信息放入变更状态队列中
|
||||
simulation.Memory.ChangeStatus.SwitchStateMap.Store(status.Id, proto.Clone(status))
|
||||
simulation.Memory.ChangeStatus.TrainStateMap.Store(status.Id, proto.Clone(status))
|
||||
}
|
||||
|
||||
// 修改列车状态
|
||||
func UpdateTrainState(simulation *VerifySimulation, status *state.TrainState) {
|
||||
allTrainMap := &simulation.Memory.Status.TrainStateMap
|
||||
d, ok := allTrainMap.Load(status.Id)
|
||||
if !ok {
|
||||
panic(fmt.Sprintf("列车【%s】不存在", status.Id))
|
||||
}
|
||||
t := d.(*state.TrainState)
|
||||
// bool型信息单独处理
|
||||
t.Up = status.Up
|
||||
t.Upslope = status.Upslope
|
||||
t.RunningUp = status.RunningUp
|
||||
// 合并其他信息
|
||||
proto.Merge(t, status)
|
||||
// 更新全量信息
|
||||
allTrainMap.Store(status.Id, t)
|
||||
// 将变更信息放入变更状态队列中
|
||||
simulation.Memory.ChangeStatus.TrainStateMap.Store(t.Id, proto.Clone(t))
|
||||
}
|
||||
|
||||
// 删除列车状态
|
||||
|
Loading…
Reference in New Issue
Block a user