public static void Reset()
        {
            // Get the instance
            TimerManager pMan = TimerManager.pActiveMan;

            Debug.Assert(pMan != null);
            // walk the list
            TimeEvent pEvent     = (TimeEvent)pMan.BaseGetActive();
            TimeEvent pNextEvent = null;


            while (pEvent != null)
            {
                // Difficult to walk a list and remove itself from the list
                // so squirrel away the next event now, use it at bottom of while
                pNextEvent = (TimeEvent)pEvent.pNext;
                TimerManager.poNodeCopy.Set(pEvent.GetName(), pEvent.GetCommand(), pEvent.deltaTime);

                TimerManager.Remove(pEvent);
                TimerManager.Add(TimerManager.poNodeCopy.GetName(), TimerManager.poNodeCopy.GetCommand(), TimerManager.poNodeCopy.deltaTime);


                pEvent = pNextEvent;
            }
        }
Пример #2
0
 public override void execute(float currentTime)
 {
     if (UFOManager.IsUFOActive())
     {
         UFOManager.DeactivateUFO();
         TimerManager.Remove(TimerManager.Find(TimerEventName.PlayUFOSound));
     }
 }
Пример #3
0
 public override void Update()
 {
     if (UFOManager.IsUFOActive())
     {
         UFOManager.DeactivateUFO();
         TimerManager.Remove(TimerManager.Find(TimerEventName.PlayUFOSound));
     }
 }
Пример #4
0
        public static void UpdateDelta(TimerEventName timerEventName)
        {
            TimerEvent pTimerEvent    = TimerManager.Find(timerEventName);
            float      newTriggerTime = pTimerEvent.triggerTime;
            float      newDeltaTime   = pTimerEvent.deltaTime - 0.05f;
            Command    cmd            = pTimerEvent.command;

            TimerManager.Remove(pTimerEvent);
        }
Пример #5
0
 public static void ClearTimerManager()
 {
     TimerManager.Remove(TimerManager.Find(TimerEventName.BombSpawn));
     TimerManager.Remove(TimerManager.Find(TimerEventName.MoveGrid));
     TimerManager.Remove(TimerManager.Find(TimerEventName.AnimateCrabs));
     TimerManager.Remove(TimerManager.Find(TimerEventName.AnimateOctopi));
     TimerManager.Remove(TimerManager.Find(TimerEventName.AnimateSquids));
     TimerManager.Remove(TimerManager.Find(TimerEventName.PlayFastInvaders1));
     TimerManager.Remove(TimerManager.Find(TimerEventName.PlayFastInvaders2));
     TimerManager.Remove(TimerManager.Find(TimerEventName.PlayFastInvaders3));
     TimerManager.Remove(TimerManager.Find(TimerEventName.PlayFastInvaders4));
     TimerManager.Remove(TimerManager.Find(TimerEventName.UFOSpawn));
     TimerManager.Remove(TimerManager.Find(TimerEventName.UFOSpawnBomb));
     TimerManager.Remove(TimerManager.Find(TimerEventName.PlayUFOSound));
 }
Пример #6
0
 public override void execute(float currentTime)
 {
     TimerManager.Remove(TimerManager.Find(TimerEventName.PlayUFOSound));
 }
Пример #7
0
        public static void UpdateTimerManager(Grid pGrid)
        {
            float decayFactor     = pGrid.decayFactor;
            float bombDecayFactor = pGrid.bombDecayFactor;

            pGrid.UpdateMarchSpeed(decayFactor);
            pGrid.UpdateBombFrequency();

            float   newTriggerTime;
            float   newDeltaTime;
            Command cmd;
            // need to update the game TimerEvents to accommodate updated values
            TimerEvent timerEvent = TimerManager.Find(TimerEventName.MoveGrid);

            if (timerEvent != null)
            {
                newTriggerTime = timerEvent.triggerTime - decayFactor;
                newDeltaTime   = timerEvent.deltaTime - decayFactor;
                cmd            = timerEvent.command;
                TimerManager.Remove(timerEvent);
                TimerManager.Add(TimerEventName.MoveGrid, newTriggerTime, newDeltaTime, cmd);
            }

            timerEvent = TimerManager.Find(TimerEventName.AnimateSquids);
            if (timerEvent != null)
            {
                newTriggerTime = timerEvent.triggerTime - decayFactor;
                newDeltaTime   = timerEvent.deltaTime - decayFactor;
                cmd            = timerEvent.command;
                TimerManager.Remove(timerEvent);
                TimerManager.Add(TimerEventName.AnimateSquids, newTriggerTime, newDeltaTime, cmd);
            }

            timerEvent = TimerManager.Find(TimerEventName.AnimateCrabs);
            if (timerEvent != null)
            {
                newTriggerTime = timerEvent.triggerTime - decayFactor;
                newDeltaTime   = timerEvent.deltaTime - decayFactor;
                cmd            = timerEvent.command;
                TimerManager.Remove(timerEvent);
                TimerManager.Add(TimerEventName.AnimateCrabs, newTriggerTime, newDeltaTime, cmd);
            }

            timerEvent = TimerManager.Find(TimerEventName.AnimateOctopi);
            if (timerEvent != null)
            {
                newTriggerTime = timerEvent.triggerTime - decayFactor;
                newDeltaTime   = timerEvent.deltaTime - decayFactor;
                cmd            = timerEvent.command;
                TimerManager.Remove(timerEvent);
                TimerManager.Add(TimerEventName.AnimateOctopi, newTriggerTime, newDeltaTime, cmd);
            }

            timerEvent = TimerManager.Find(TimerEventName.PlayFastInvaders4);
            if (timerEvent != null)
            {
                newTriggerTime = timerEvent.triggerTime - decayFactor * 4;
                newDeltaTime   = timerEvent.deltaTime - decayFactor * 4;
                cmd            = timerEvent.command;
                TimerManager.Remove(timerEvent);
                TimerManager.Add(TimerEventName.PlayFastInvaders4, newTriggerTime, newDeltaTime, cmd);
            }

            timerEvent = TimerManager.Find(TimerEventName.PlayFastInvaders1);
            if (timerEvent != null)
            {
                newTriggerTime = timerEvent.triggerTime - decayFactor * 4;
                newDeltaTime   = timerEvent.deltaTime - decayFactor * 4;
                cmd            = timerEvent.command;
                TimerManager.Remove(timerEvent);
                TimerManager.Add(TimerEventName.PlayFastInvaders1, newTriggerTime, newDeltaTime, cmd);
            }

            timerEvent = TimerManager.Find(TimerEventName.PlayFastInvaders2);
            if (timerEvent != null)
            {
                newTriggerTime = timerEvent.triggerTime - decayFactor * 4;
                newDeltaTime   = timerEvent.deltaTime - decayFactor * 4;
                cmd            = timerEvent.command;
                TimerManager.Remove(timerEvent);
                TimerManager.Add(TimerEventName.PlayFastInvaders2, newTriggerTime, newDeltaTime, cmd);
            }

            timerEvent = TimerManager.Find(TimerEventName.PlayFastInvaders3);
            if (timerEvent != null)
            {
                newTriggerTime = timerEvent.triggerTime - decayFactor * 4;
                newDeltaTime   = timerEvent.deltaTime - decayFactor * 4;
                cmd            = timerEvent.command;
                TimerManager.Remove(timerEvent);
                TimerManager.Add(TimerEventName.PlayFastInvaders3, newTriggerTime, newDeltaTime, cmd);
            }

            timerEvent = TimerManager.Find(TimerEventName.BombSpawn);
            if (timerEvent != null)
            {
                newTriggerTime = timerEvent.triggerTime - bombDecayFactor;
                newDeltaTime   = timerEvent.deltaTime - bombDecayFactor;
                cmd            = timerEvent.command;
                TimerManager.Remove(timerEvent);
                TimerManager.Add(TimerEventName.BombSpawn, newTriggerTime, newDeltaTime, cmd);
            }
        }