private GameDataModel GameDataInFolder(string aFolder) { GameDataModel result = null; GameConfig config = new GameConfig(); // Always write a default config file string defConfigFilePath = aFolder + System.IO.Path.DirectorySeparatorChar + DEFAULT_CONFIG_FILE; File.WriteAllText(defConfigFilePath, JsonConvert.SerializeObject(config, Formatting.Indented)); // Try and get the game config string configPath = aFolder + "/" + CONFIG_FILE; if (File.Exists(configPath)) { try { config = JsonConvert.DeserializeObject<GameConfig>(File.ReadAllText(configPath)); if (config.HasRequiredFields()) { result = new GameDataModel(aFolder, config.Executable, config.Title, config.Icon, config.Screenshot, config.DescriptionFile); } } catch (JsonException e) { // TODO(doug) - handle } } return result; }
public GameViewModel(GameDataModel aModel, Action<GameDataModel> aOnClick) { _model = aModel; _onClick = aOnClick; OnClickCommand = new RelayCommand(wasClicked); ; }
private void GameWasClicked(GameDataModel aGame) { log.Info("Selected game: " + aGame.Title); GameDetailViewModel gameDetailView = ViewModelLocator.Locator().GameDetailViewModel; gameDetailView.Game = aGame; MessengerInstance.Send<ApplicationViewModel.ChangePageMessage>(new ApplicationViewModel.ChangePageMessage(gameDetailView)); }