private async Task EnsureFilesCreatedAsync() { var configFile = Path.Combine(_currentDir, AppConfig.APPCONFIG_FILE); var gamesListFile = Path.Combine(_currentDir, AppConfig.GAMESLIST_FILE); var bgmInfoFolder = Path.Combine(_currentDir, AppConfig.BGFINFO_FOLDER); if (!File.Exists(configFile)) { var config = new AppConfig(); // TODO: Write current config await using var fs = new FileStream(configFile, FileMode.CreateNew); await JsonUtils.SerializeAsync(fs, configFile); } if (!File.Exists(gamesListFile)) { var games = new GameDirectories(); await using var fs = new FileStream(gamesListFile, FileMode.CreateNew); await JsonUtils.SerializeAsync(fs, games); } if (!Directory.Exists(bgmInfoFolder)) { Directory.CreateDirectory(bgmInfoFolder); } }
private void FillGameDirectories(IList <GameDirectory> gameDirectories) { foreach (GameDirectory directory in gameDirectories) { GameDirectories.Add(new GameDirectoryDto(directory.Directory, directory.GetGames())); } }
public void AddDirectory(object obj) { using (var dlg = new CommonOpenFileDialog() { Title = "Choose Directory", IsFolderPicker = true, AddToMostRecentlyUsedList = false, AllowNonFileSystemItems = false, EnsureFileExists = true, EnsurePathExists = true, EnsureReadOnly = false, EnsureValidNames = true, Multiselect = false, ShowPlacesList = true }) { if (dlg.ShowDialog() == CommonFileDialogResult.Ok) { controller.AddGameDirectory(dlg.FileName); var gameDirectory = controller.GetGameDirectory(dlg.FileName); var gameDirectoryDto = new GameDirectoryDto(gameDirectory.Directory, gameDirectory.GetGames()); GameDirectories.Add(gameDirectoryDto); SelectedDirectory = GameDirectories.Last(); //for showing the new inserted one controller.SaveDevice(); } } }
private void ScanComputer() { controller.ScanComputer(); controller.SendGames(); App.Current.Dispatcher.Invoke((Action) delegate { var directory = selectedDirectory.Directory; GameDirectories.Clear(); FillGameDirectories(controller.GetGameDirectories()); SelectedDirectory = GameDirectories.Last(); }); controller.SaveDevice(); }
private static void SerializeSettings(ISerializer s, bool cmdLine = false) { if (!cmdLine) { GameModeSelection[] modes = EnumHelpers.GetValues <GameModeSelection>(); foreach (GameModeSelection mode in modes) { string dir = GameDirectories.ContainsKey(mode) ? GameDirectories[mode] : ""; GameDirectories[mode] = s.SerializeString("Directory" + mode.ToString(), dir); } if (Application.isEditor) { foreach (GameModeSelection mode in modes) { string dir = GameDirectoriesWeb.ContainsKey(mode) ? GameDirectoriesWeb[mode] : ""; GameDirectoriesWeb[mode] = s.SerializeString("WebDirectory" + mode.ToString(), dir); } } } string modeString = s.SerializeString("GameMode", SelectedGameMode.ToString(), "mode", "m"); SelectedGameMode = Enum.TryParse <GameModeSelection>(modeString, out GameModeSelection gameMode) ? gameMode : SelectedGameMode; if (cmdLine) { if (FileSystem.mode == FileSystem.Mode.Web) { string dir = GameDirectoriesWeb.ContainsKey(SelectedGameMode) ? GameDirectoriesWeb[SelectedGameMode] : ""; GameDirectoriesWeb[SelectedGameMode] = s.SerializeString("Directory", dir, "dir", "directory", "folder", "f", "d"); } else { string dir = GameDirectories.ContainsKey(SelectedGameMode) ? GameDirectories[SelectedGameMode] : ""; GameDirectories[SelectedGameMode] = s.SerializeString("Directory", dir, "dir", "directory", "folder", "f", "d"); } } World = s.SerializeInt("WorldIndex", World, "wld", "w"); EduVolume = s.SerializeString("EduVolume", EduVolume, "volume", "vol"); Level = s.SerializeInt("SelectedLevelFile", Level, "level", "lvl", "map"); LoadFromMemory = s.SerializeBool("LoadFromMemory", LoadFromMemory); ProcessName = s.SerializeString("ProcessName", ProcessName); ModuleName = s.SerializeString("ModuleName", ModuleName); GameBasePointer = s.SerializeInt("GameBasePointer", GameBasePointer); IsGameBaseAPointer = s.SerializeBool("IsPointer", IsGameBaseAPointer); FindPointerAutomatically = s.SerializeBool("FindPointerAutomatically", FindPointerAutomatically); UseHDCollisionSheet = s.SerializeBool("UseHDCollisionSheet", UseHDCollisionSheet); ShowObjects = s.SerializeBool("ShowObjects", ShowObjects); ShowTiles = s.SerializeBool("ShowTiles", ShowTiles); ShowCollision = s.SerializeBool("ShowCollision", ShowCollision); ShowLinks = s.SerializeBool("ShowLinks", ShowLinks); ShowObjCollision = s.SerializeBool("ShowObjCollision", ShowObjCollision); AnimateSprites = s.SerializeBool("AnimateSprites", AnimateSprites); AnimateTiles = s.SerializeBool("AnimateTiles", AnimateTiles); ShowAlwaysObjects = s.SerializeBool("ShowAlwaysObjects", ShowAlwaysObjects); string stateModeString = s.SerializeString("StateSwitchingMode", StateSwitchingMode.ToString()); StateSwitchingMode = Enum.TryParse(stateModeString, out StateSwitchingMode stateMode) ? stateMode : StateSwitchingMode; ShowEditorObjects = s.SerializeBool("ShowEditorObjects", ShowEditorObjects); ScreenshotEnumeration = s.SerializeBool("ScreenshotEnumeration", ScreenshotEnumeration); BackupFiles = s.SerializeBool("BackupFiles", BackupFiles); ShowDebugInfo = s.SerializeBool("ShowDebugInfo", ShowDebugInfo, "debug"); string screenshot_FileNameString = s.SerializeString("Screenshot_FileName", Screenshot_FileName.ToString()); Screenshot_FileName = Enum.TryParse(screenshot_FileNameString, out ScreenshotName screenshotFileName) ? screenshotFileName : Screenshot_FileName; Screenshot_ShowDefaultObj = s.SerializeBool("Screenshot_ShowDefaultObj", Screenshot_ShowDefaultObj); HideUnusedLinks = s.SerializeBool("HideUnusedLinks", HideUnusedLinks); LoadIsometricMapLayer = s.SerializeBool("LoadIsometricMapLayer", LoadIsometricMapLayer); GBAVV_Crash_TimeTrialMode = s.SerializeBool("GBAVV_Crash_TimeTrialMode", GBAVV_Crash_TimeTrialMode); Screenshot_RayWikiMode = s.SerializeBool("Screenshot_RayWikiMode", Screenshot_RayWikiMode); ShowGridMap = s.SerializeBool("ShowGridMap", ShowGridMap); ShowDefaultObjIcons = s.SerializeBool("ShowDefaultObjIcons", ShowDefaultObjIcons); ShowObjOffsets = s.SerializeBool("ShowObjOffsets", ShowObjOffsets); ShowRayman = s.SerializeBool("ShowRayman", ShowRayman); FollowRaymanInMemoryMode = s.SerializeBool("FollowRaymanInMemoryMode", FollowRaymanInMemoryMode); Tool_mkpsxiso_filePath = s.SerializeString("Tool_mkpsxiso_filePath", Tool_mkpsxiso_filePath, "mkpsxiso"); HideDirSettings = s.SerializeBool("HideDirSettings", HideDirSettings); RandomizerSeed = s.SerializeString("RandomizerSeed", RandomizerSeed, "RandomizerSeed"); RandomizerFlags = (RandomizerFlags)s.SerializeInt("RandomizerFlags", (int)RandomizerFlags, "RandomizerFlags"); RandomizeBatch = s.SerializeBool("RandomizeBatch", RandomizeBatch, "RandomizeBatch"); Log = s.SerializeBool("Log", Log); LogFile = s.SerializeString("LogFile", LogFile); }
static void Main(string[] args) { GameDirectories.EnsureDirectories(); new Game().Run(); }