// INTERNALS private void ProcessQueuedBehaviours() { if (m_QueuedBehaviours.Count > 0) { // Add all queued to general. m_GeneralBehaviours.AddRange(m_QueuedBehaviours); SortList(m_GeneralBehaviours); // Assign player queued behaviours to player and remove from general. AssignQueuedToPlayers(); // Setup data on new behaviours. for (int index = 0; index < m_QueuedBehaviours.Count; ++index) { TrueSyncManagedBehaviour tsmb = m_QueuedBehaviours[index]; if (tsmb == null) { continue; } tsmb.SetGameInfo(m_Lockstep.LocalPlayer.playerInfo, m_Lockstep.Players.Count); tsmb.OnSyncedStart(); } // Clear queue. m_QueuedBehaviours.Clear(); } }
private void CheckQueuedBehaviours() { if (queuedBehaviours.Count > 0) { generalBehaviours.AddRange(queuedBehaviours); initGeneralBehaviors(queuedBehaviours, true); for (int index = 0, length = queuedBehaviours.Count; index < length; index++) { TrueSyncManagedBehaviour tsmb = queuedBehaviours[index]; tsmb.SetGameInfo(lockstep.LocalPlayer.playerInfo, lockstep.Players.Count); tsmb.OnSyncedStart(); } queuedBehaviours.Clear(); } }