//________________NEW CHARACTERS____________________________________________________ //New character to dataset, sort by initiative public void NewCharacters() { DatasetCharacter.Clear(); //clear DatasetCharacter even if blank var datasett = CharactersViewModel.Instance.Dataset; List <Character> SortedCharacterList = new List <Character>(); foreach (var data in datasett) //place current partylist created into a list for sorting { if (DatasetCharacter.Count < 6) { Character _character = new Character(data); //character copy _character.Id = Guid.NewGuid().ToString(); //sets new ID for coppy character SortedCharacterList.Add(_character); //sorts character to lst for sorting } } var newlist = SortedCharacterList.OrderByDescending(s => s.Speed).ThenByDescending(n => n.Name).ToList(); //sort character foreach (var _character in newlist) //loop to add sortedlistcharacters to dataset { _character.Id = Guid.NewGuid().ToString(); DatasetCharacter.Add(_character); Debug.WriteLine(_character.Name + " added in Battle view newcharacters()"); //shows inserts } Debug.WriteLine(DatasetCharacter.Count.ToString() + " current cout of datsetcharacter"); //debug display }
//execute manual private async Task ExecuteLoadDataCommand() { if (IsBusy) { return; } IsBusy = true; try { DatasetMonster.Clear(); DatasetCharacter.Clear(); MonstersViewModel.Instance.newRoundMonsters(); // call new instance of monster var datasett = CharactersViewModel.Instance.Dataset; battleInstance.setViewModel(); refreshMonster();//adds new monsters //Load Characters from party List <Character> SortedCharacterList = new List <Character>(); foreach (var data in PartyList) //place current partylist created into a list for sorting { var mydata = datasett.FirstOrDefault(arg => arg.Id == data); if (mydata.Id == data) { Character _character = new Character(mydata); //character copy _character.Id = Guid.NewGuid().ToString(); //sets new ID for coppy character SortedCharacterList.Add(_character); //sorts character to lst for sorting } } var newlist = SortedCharacterList.OrderByDescending(s => s.Speed + s.StatModifier(AttributeEnum.Speed)).ThenByDescending(n => n.Name).ToList(); //sort character DatasetCharacter.Clear(); //clear DatasetCharacter even if blank foreach (var _character in newlist) //loop to add sortedlistcharacters to dataset { DatasetCharacter.Add(_character); } //Load Characters and Monster turns battleInstance.GetMonsters(); Debug.WriteLineIf(battleInstance.ListMonsters.Count == 0, "null getmonsters"); battleInstance.GetCharacters(); Debug.WriteLineIf(battleInstance.ListMonsters.Count == 0, "null getcharacters"); battleInstance.LoadTurnOrder(); //at start of execution load battle turns for initial battle } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; } }
//______________________SPEED COMPARE___________________________________________________ //Checks sorted character speed public void SpeedCheck() { List <Character> SortedCharacterList = new List <Character>(); foreach (var data in DatasetCharacter) { SortedCharacterList.Add(data); Debug.WriteLine(data.Name + " <--name speed->> " + data.Speed + " " + data.StatModifier(AttributeEnum.Speed) + " <--speed modifier"); } var newlist = SortedCharacterList.OrderByDescending(s => s.Speed + s.StatModifier(AttributeEnum.Speed)).ThenByDescending(n => n.Name).ToList(); //sort character DatasetCharacter.Clear(); //clear DatasetCharacter even if blank foreach (var _character in newlist) //loop to add sortedlistcharacters to dataset { DatasetCharacter.Add(_character); } }
private async Task ExecuteLoadDataCommand() { if (IsBusy) { return; } IsBusy = true; try { Dataset.Clear(); DatasetCharacter.Clear(); var dataset = BattleViewModel.Instance.Pool; var datasett = BattleViewModel.Instance.DatasetCharacter; foreach (var data in datasett) { DatasetCharacter.Add(data); } foreach (var data in dataset) { Dataset.Add(data); } Dataset = new ObservableCollection <Item>(Dataset.OrderBy(a => a.Name) .ThenBy(a => a.Value) .ThenBy(a => a.Attribute) .ThenByDescending(a => a.Range) .ToList()); } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; } }
private async Task ExecuteLoadDataCommand() { if (IsBusy) { return; } IsBusy = true; try { DatasetMonster.Clear(); DatasetCharacter.Clear(); var dataset = await DataStore.GetPartyAsync_Monster(true); var datasett = await DataStore.GetPartyAsync_Character(true); foreach (var data in dataset) { DatasetMonster.Add(data); } foreach (var data in datasett) { DatasetCharacter.Add(data); } } catch (Exception ex) { Debug.WriteLine(ex); } finally { IsBusy = false; } }