public void ChangeMode(GameScreenMode mode) { ActionBox.ClearOptions(); ClearTileMarks(); this.mode = mode; showTitle = true; titleColor.A = 255; handlers.Clear(); if (mode == GameScreenMode.TacticsMode) { handlers.Push(new TacticsInputHandler(this)); } else if (mode == GameScreenMode.BattleMode) { handlers.Push(new BattleInputHandler(this)); } }
public void ShowScreen(GameScreenMode mode) { if (mode == GameScreenMode.RecentGames && ConfigManager.Config.Preferences.DisableGameSelectionScreen) { this.Visible = false; return; } else if (mode != GameScreenMode.RecentGames && Mode == mode && this.Visible) { this.Visible = false; if (_needResume) { EmuApi.Resume(); } return; } Mode = mode; _recentGames = new List <RecentGameInfo>(); _currentIndex = 0; if (mode == GameScreenMode.RecentGames) { _needResume = false; tlpTitle.Visible = false; List <string> files = Directory.GetFiles(ConfigManager.RecentGamesFolder, "*.rgd").OrderByDescending((file) => new FileInfo(file).LastWriteTime).ToList(); for (int i = 0; i < files.Count && _recentGames.Count < 36; i++) { _recentGames.Add(new RecentGameInfo() { FileName = files[i] }); } } else { if (!this.Visible) { _needResume = Pause(); } lblScreenTitle.Text = mode == GameScreenMode.LoadState ? ResourceHelper.GetMessage("LoadStateDialog") : ResourceHelper.GetMessage("SaveStateDialog"); tlpTitle.Visible = true; string romName = EmuApi.GetRomInfo().GetRomName(); for (int i = 0; i < (mode == GameScreenMode.LoadState ? 11 : 10); i++) { _recentGames.Add(new RecentGameInfo() { FileName = Path.Combine(ConfigManager.SaveStateFolder, romName + "_" + (i + 1) + ".mss"), Name = i == 10 ? ResourceHelper.GetMessage("AutoSave") : ResourceHelper.GetMessage("SlotNumber", i + 1), SaveSlot = (uint)i + 1 }); } if (mode == GameScreenMode.LoadState) { _recentGames.Add(new RecentGameInfo() { FileName = Path.Combine(ConfigManager.RecentGamesFolder, romName + ".rgd"), Name = ResourceHelper.GetMessage("LastSession") }); } } InitGrid(); if (_recentGames.Count == 0) { this.Visible = false; tmrInput.Enabled = false; } else { UpdateGameInfo(); tmrInput.Enabled = true; } picPrevGame.Visible = _recentGames.Count > _elementsPerPage; picNextGame.Visible = _recentGames.Count > _elementsPerPage; this.Visible = true; }
public void ShowGameScreen(GameScreenMode mode) { ctrlRecentGames.ShowScreen(mode); ResizeRecentGames(); }