public override void CopyFrom(InputDataBase fromBase) { InputData from = (InputData)fromBase; var stringTableEnum = from.stringTable.GetEnumerator(); while (stringTableEnum.MoveNext()) { var kv = stringTableEnum.Current; this.stringTable.Add(kv.Key, kv.Value); } var byteTableEnum = from.byteTable.GetEnumerator(); while (byteTableEnum.MoveNext()) { var kv = byteTableEnum.Current; this.byteTable.Add(kv.Key, kv.Value); } var intTableEnum = from.intTable.GetEnumerator(); while (intTableEnum.MoveNext()) { var kv = intTableEnum.Current; this.intTable.Add(kv.Key, kv.Value); } var fpTableEnum = from.fpTable.GetEnumerator(); while (fpTableEnum.MoveNext()) { var kv = fpTableEnum.Current; this.fpTable.Add(kv.Key, kv.Value); } var byteArrayTableEnum = from.byteArrayTable.GetEnumerator(); while (byteArrayTableEnum.MoveNext()) { var kv = byteArrayTableEnum.Current; this.byteArrayTable.Add(kv.Key, kv.Value); } var FPVectorTableEnum = from.FPVectorTable.GetEnumerator(); while (FPVectorTableEnum.MoveNext()) { var kv = FPVectorTableEnum.Current; this.FPVectorTable.Add(kv.Key, kv.Value); } var FPVectorTable2Enum = from.FPVectorTable2.GetEnumerator(); while (FPVectorTable2Enum.MoveNext()) { var kv = FPVectorTable2Enum.Current; this.FPVectorTable2.Add(kv.Key, kv.Value); } }
public void UpdateAllCoroutines() { InputDataBase oldInputData = FrameSyncInput.CurrentSimulationData; UpdateAllCoroutines(lockStep.Ticks, FrameSyncManager.Time); FrameSyncInput.CurrentSimulationData = (InputData)oldInputData; }
void GetLocalData(InputDataBase playerInputData) { FrameSyncInput.CurrentInputData = (InputData)playerInputData; if (behaviorsByPlayer.ContainsKey(playerInputData.ownerID)) { List <FrameSyncManagedBehaviour> managedBehavioursByPlayer = behaviorsByPlayer[playerInputData.ownerID]; for (int index = 0, length = managedBehavioursByPlayer.Count; index < length; index++) { FrameSyncManagedBehaviour bh = managedBehavioursByPlayer[index]; if (bh != null && !bh.disabled) { bh.OnSyncedInput(); } } } FrameSyncInput.CurrentInputData = null; }
/** * @brief Returns true if this {@link SyncedData} has all actions information equals to the provided one. **/ public override bool EqualsData(InputDataBase otherBase) { InputData other = (InputData)otherBase; if (this.stringTable.Count != other.stringTable.Count || this.byteTable.Count != other.byteTable.Count || this.intTable.Count != other.intTable.Count || this.fpTable.Count != other.fpTable.Count || this.byteArrayTable.Count != other.byteArrayTable.Count || this.FPVectorTable.Count != other.FPVectorTable.Count || this.FPVectorTable2.Count != other.FPVectorTable2.Count) { return(false); } if (!checkEqualsTable(this, other)) { return(false); } return(true); }
public SyncedData() { this.inputData = AbstractLockstep.instance.InputDataProvider(); }
public abstract void CopyFrom(InputDataBase fromBase);
public abstract bool EqualsData(InputDataBase otherBase);
void OnStepUpdate(List <InputDataBase> allInputData) { time += lockedTimeStep; if (ReplayRecord.replayMode != ReplayMode.LOAD_REPLAY) { CheckGameObjectsSafeMap(); } FrameSyncInput.SetAllInputs(null); for (int index = 0, length = generalBehaviours.Count; index < length; index++) { FrameSyncManagedBehaviour bh = generalBehaviours[index]; if (bh != null && !bh.disabled) { bh.OnPreSyncedUpdate(); instance.scheduler.UpdateAllCoroutines(); } } for (int index = 0, length = allInputData.Count; index < length; index++) { InputDataBase playerInputData = allInputData[index]; if (behaviorsByPlayer.ContainsKey(playerInputData.ownerID)) { List <FrameSyncManagedBehaviour> managedBehavioursByPlayer = behaviorsByPlayer[playerInputData.ownerID]; for (int index2 = 0, length2 = managedBehavioursByPlayer.Count; index2 < length2; index2++) { FrameSyncManagedBehaviour bh = managedBehavioursByPlayer[index2]; if (bh != null && !bh.disabled) { bh.OnPreSyncedUpdate(); instance.scheduler.UpdateAllCoroutines(); } } } } FrameSyncInput.SetAllInputs(allInputData); FrameSyncInput.CurrentSimulationData = null; for (int index = 0, length = generalBehaviours.Count; index < length; index++) { FrameSyncManagedBehaviour bh = generalBehaviours[index]; if (bh != null && !bh.disabled) { bh.OnSyncedUpdate(); instance.scheduler.UpdateAllCoroutines(); } } for (int index = 0, length = allInputData.Count; index < length; index++) { InputDataBase playerInputData = allInputData[index]; if (behaviorsByPlayer.ContainsKey(playerInputData.ownerID)) { FrameSyncInput.CurrentSimulationData = (InputData)playerInputData; List <FrameSyncManagedBehaviour> managedBehavioursByPlayer = behaviorsByPlayer[playerInputData.ownerID]; for (int index2 = 0, length2 = managedBehavioursByPlayer.Count; index2 < length2; index2++) { FrameSyncManagedBehaviour bh = managedBehavioursByPlayer[index2]; if (bh != null && !bh.disabled) { bh.OnSyncedUpdate(); instance.scheduler.UpdateAllCoroutines(); } } } FrameSyncInput.CurrentSimulationData = null; } CheckQueuedBehaviours(); }