void OnGameStarted() { SyncManagedBehaviour.OnGameStarted(generalBehaviours, behaviorsByPlayer); //instance.scheduler.UpdateAllCoroutines(); CheckQueuedBehaviours(); }
private SyncManagedBehaviour NewManagedBehaviour(ISyncBehaviour b) { SyncManagedBehaviour behaviour = new SyncManagedBehaviour(b); mapManagedBehaviors[b] = behaviour; return(behaviour); }
void GetLocalData(InputDataBase playerInputData) { SyncInput.CurrentInputData = (InputData)playerInputData; if (behaviorsByPlayer.ContainsKey(playerInputData.ownerID)) { List <SyncManagedBehaviour> managedBehavioursByPlayer = behaviorsByPlayer[playerInputData.ownerID]; for (int i = 0; i < managedBehavioursByPlayer.Count; i++) { SyncManagedBehaviour bh = managedBehavioursByPlayer[i]; if (bh != null && !bh.disabled) { bh.OnSyncedInput(); } } } SyncInput.CurrentInputData = null; }
private void InitBehaviours(bool realOwnerId) { foreach (var player in lockstep.players.Values) { List <SyncManagedBehaviour> behaviorsInstatiated = new List <SyncManagedBehaviour>(); //:ToDo for (int i = 0; i < PlayerObjects.Length; i++) { GameObject prefab = PlayerObjects[i]; GameObject prefabInst = GameObject.Instantiate(prefab); InitializeGameObject(prefabInst, prefabInst.transform.position.ToTSVector(), prefabInst.transform.rotation.ToTSQuaternion()); SyncBehaviour[] behaviours = prefabInst.GetComponentsInChildren <SyncBehaviour>(); for (int j = 0; j < behaviours.Length; j++) { SyncBehaviour behaviour = behaviours[j]; behaviour.owner = player.playerInfo; behaviour.localOwner = lockstep.LocalPlayer.playerInfo; behaviour.numberOfPlayers = lockstep.players.Count; if (realOwnerId) { behaviour.ownerIndex = behaviour.owner.Id; } SyncManagedBehaviour managedBehaviour = NewManagedBehaviour(behaviour); managedBehaviour.owner = behaviour.owner; managedBehaviour.localOwner = behaviour.localOwner; behaviorsInstatiated.Add(managedBehaviour); } } behaviorsByPlayer.Add(player.ID, behaviorsInstatiated); } }
void OnGameUnPaused() { SyncManagedBehaviour.OnGameUnPaused(generalBehaviours, behaviorsByPlayer); //instance.scheduler.UpdateAllCoroutines(); }
void OnPlayerDisconnection(byte playerId) { SyncManagedBehaviour.OnPlayerDisconnection(generalBehaviours, behaviorsByPlayer, playerId); }
void OnStepUpdate(List <InputDataBase> allInputData) { time += lockedTimeStep; // if (ReplayRecord.replayMode != ReplayMode.LOAD_REPLAY) // { // CheckGameObjectsSafeMap(); // } SyncInput.SetAllInputs(null); for (int index = 0; index < generalBehaviours.Count; index++) { SyncManagedBehaviour bh = generalBehaviours[index]; if (bh != null && !bh.disabled) { bh.OnPreSyncedUpdate(); //instance.scheduler.UpdateAllCoroutines(); } } for (int index = 0; index < allInputData.Count; index++) { InputDataBase playerInputData = allInputData[index]; if (behaviorsByPlayer.ContainsKey(playerInputData.ownerID)) { List <SyncManagedBehaviour> managedBehavioursByPlayer = behaviorsByPlayer[playerInputData.ownerID]; for (int index2 = 0, length2 = managedBehavioursByPlayer.Count; index2 < length2; index2++) { SyncManagedBehaviour bh = managedBehavioursByPlayer[index2]; if (bh != null && !bh.disabled) { bh.OnPreSyncedUpdate(); //instance.scheduler.UpdateAllCoroutines(); } } } } SyncInput.SetAllInputs(allInputData); SyncInput.CurrentSimulationData = null; for (int index = 0; index < generalBehaviours.Count; index++) { SyncManagedBehaviour 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)) { SyncInput.CurrentSimulationData = (InputData)playerInputData; List <SyncManagedBehaviour> managedBehavioursByPlayer = behaviorsByPlayer[playerInputData.ownerID]; for (int index2 = 0, length2 = managedBehavioursByPlayer.Count; index2 < length2; index2++) { SyncManagedBehaviour bh = managedBehavioursByPlayer[index2]; if (bh != null && !bh.disabled) { bh.OnSyncedUpdate(); //instance.scheduler.UpdateAllCoroutines(); } } } SyncInput.CurrentSimulationData = null; } CheckQueuedBehaviours(); }