Beispiel #1
0
        void OnStepUpdate(InputData[] allInputData)
        {
            CheckGameObjectsSafeMap();

            TrueSyncInput.GetAllInputs().Clear();

            if (generalBehaviours != null)
            {
                foreach (TrueSyncManagedBehaviour bh in generalBehaviours)
                {
                    if (bh != null && !bh.disabled)
                    {
                        bh.OnPreSyncedUpdate();
                        instance.scheduler.UpdateAllCoroutines();
                    }
                }
            }

            foreach (InputData playerInputData in allInputData)
            {
                if (behaviorsByPlayer.ContainsKey(playerInputData.ownerID))
                {
                    foreach (TrueSyncManagedBehaviour bh in behaviorsByPlayer[playerInputData.ownerID])
                    {
                        if (bh != null && !bh.disabled)
                        {
                            bh.OnPreSyncedUpdate();
                            instance.scheduler.UpdateAllCoroutines();
                        }
                    }
                }
            }

            TrueSyncInput.GetAllInputs().AddRange(allInputData);

            TrueSyncInput.CurrentSimulationData = null;
            if (generalBehaviours != null)
            {
                foreach (TrueSyncManagedBehaviour bh in generalBehaviours)
                {
                    if (bh != null && !bh.disabled)
                    {
                        bh.OnSyncedUpdate();
                        instance.scheduler.UpdateAllCoroutines();
                    }
                }
            }

            foreach (InputData playerInputData in allInputData)
            {
                if (behaviorsByPlayer.ContainsKey(playerInputData.ownerID))
                {
                    TrueSyncInput.CurrentSimulationData = playerInputData;

                    foreach (TrueSyncManagedBehaviour bh in behaviorsByPlayer[playerInputData.ownerID])
                    {
                        if (bh != null && !bh.disabled)
                        {
                            bh.OnSyncedUpdate();
                            instance.scheduler.UpdateAllCoroutines();
                        }
                    }
                }

                TrueSyncInput.CurrentSimulationData = null;
            }

            CheckQueuedBehaviours();
        }