public void Update() { eGameEventMode oldEventPlaybackMode = EventPlaybackMode; // Play the next game event if (EventPlaybackMode == eGameEventMode.playing && !IsWaitingForEventCompletion) { if (!IsEventCursorAtLastEvent) { IsWaitingForEventCompletion = true; CurrentGame.AdvanceEventCursor( m_gameWorldController, () => { IsWaitingForEventCompletion = false; }); } else { EventPlaybackMode = eGameEventMode.paused; } } if (oldEventPlaybackMode != EventPlaybackMode) { m_gameWorldController.OnEventPlaybackModeChanged(); } // Update all active entities //if (EventPlaybackMode != eGameEventMode.paused) { foreach (CharacterEntity characterEntity in m_characterEntities.Values) { characterEntity.Update(); } foreach (MobEntity mobEntity in m_mobEntities.Values) { mobEntity.Update(); } foreach (EnergyTankEntity energyTankEntity in m_energyTankEntities.Values) { energyTankEntity.Update(); } } }
public bool AdvanceCurrentEvent(GameWorldController gameWorldController) { // null complete callback tells the event to immediately jump to the result return(CurrentGame.AdvanceEventCursor(gameWorldController, null)); }