//when a dude is clicked on a play button should appear, and when they're unclicked it should disappear private async void UpdateFiles() { List <string> files = await UWPIO.listFiles(UWPIO.GAMEDIR); foreach (string file in files) { // Limit to only json or agf files. int l = file.Length; if (file.Substring(l - 5) == ".json" || file.Substring(l - 4) == ".agf") { string fname = UWPIO.GAMEDIR + "\\" + file; AdventureGame ag = AdventureGame.loadFromString(await UWPIO.readFile(fname)); Games.Add(new GameInfo(ag.title, ag.author, file, await UWPIO.dateCreatedAsync(fname), await UWPIO.dateModifiedAsync(fname))); } } }
async void updateGames() { Games = new ObservableCollection <SaveGameInfo>(); List <string> fileList = await UWPIO.listFiles(UWPIO.SAVEDIR); foreach (string f in fileList) { int l = f.Length; if (f.Substring(l - 5) == ".json" || f.Substring(l - 4) == ".agf") { string fname = UWPIO.SAVEDIR + "\\" + f; string content = await UWPIO.readFile(fname); ActiveGame ag = loadFromString(content); Games.Add(new SaveGameInfo(ag.getTitle(), ag.getAuthor(), await UWPIO.dateModifiedAsync(fname), ag)); } } updateProperty(nameof(Games)); }
//option click handler protected override async void OnNavigatedTo(NavigationEventArgs e) { //depending on who entered, we do different things dynamic g = e.Parameter; if (g is ActiveGame) { game = g; } else { //load from path dynamic btn = e.Parameter; string file_path = btn.Tag; AdventureGame ag = AdventureGame.loadFromString(await UWPIO.readFile(UWPIO.GAMEDIR + "\\" + file_path)); game = new ActiveGame(ag); game.start(); } base.OnNavigatedTo(e); refresh(); }