public static void Simulate()
        {
            if (!Initialized)
            {
                return;
            }
            //FrameManager.EarlySimulate ();
            PlayerManager.Simulate();
            NetworkManager.Simulate();
            if (!FrameManager.CanAdvanceFrame)
            {
                return;
            }
            FrameManager.Simulate();
            AgentController.Simulate();

            #region Custom Behaviors
            MovementGroup.Simulate();
            #endregion

            PhysicsManager.Simulate();
            CoroutineManager.Simulate();
            InputManager.Simulate();
            SelectionManager.Simulate();
            FrameCount++;
        }
Exemple #2
0
        public static void Pool(MovementGroup group)
        {
            int indexID = group.indexID;

            activeGroups.RemoveAt(indexID);
            pooledGroups.Add(group);
        }
Exemple #3
0
        public static MovementGroup CreateGroup(Command com)
        {
            MovementGroup moveGroup = pooledGroups.Count > 0 ? pooledGroups.Pop() : new MovementGroup();

            moveGroup.indexID = activeGroups.Add(moveGroup);
            LastCreatedGroup  = moveGroup;
            moveGroup.Initialize(com);
            return(moveGroup);
        }
Exemple #4
0
 protected override void OnLateSimulate()
 {
     for (int i = 0; i < activeGroups.PeakCount; i++)
     {
         if (MovementGroupHandler.activeGroups.arrayAllocation[i])
         {
             MovementGroup moveGroup = activeGroups[i];
             moveGroup.LateSimulate();
         }
     }
 }
        public static void Initialize()
        {
            Time.fixedDeltaTime = FixedMath.ToFloat(Timestep);
            FrameCount          = 0;
            LSUtility.Initialize(1);
            CoroutineManager.Initialize();

            NetworkManager.Initialize();
            FrameManager.Initialize();
            AgentController.Initialize(Instance.AgentObjects);
            PhysicsManager.Initialize();
            InputManager.Initialize();
            PlayerManager.Initialize();

            MovementGroup.Initialize();

            Initialized = true;
        }
 public static void Pool(MovementGroup group)
 {
     int indexID = group.indexID;
     activeGroups.RemoveAt(indexID);
     pooledGroups.Add(group);
 }