public override void Update(UI.IInvalidator invalidator, Model.LiveSplitState state, float width, float height, UI.LayoutMode mode) { if (info != null && !info.GameProcess.HasExited) { info.Update(); if (state.CurrentSplitIndex + 1 < eventList.Length && eventList[state.CurrentSplitIndex + 1].HasOccured(info)) { if (state.CurrentPhase == TimerPhase.NotRunning) { state.IsGameTimePaused = false; model.Start(); } else { model.Split(); } } if (settings.PauseGameTime) { state.IsGameTimePaused = !info.InGame || info.InIntermission; } } else { Process gameProcess = Process.GetProcessesByName("q2pro").FirstOrDefault(); if (gameProcess != null && !gameProcess.HasExited) { info = new GameInfo(gameProcess); } else { info = null; } } }
public override bool HasOccured(GameInfo info) { return (info.PrevGameState != 7) && info.InGame && (info.CurrMap == map.name); }
public override bool HasOccured(GameInfo info) { return false; }
public abstract bool HasOccured(GameInfo info);