private async void GenerateTalentListAsync(List <ITalent> list) { if (list == null || list.Count == 0) { return; } if (Game.Settings.OrderTalentAlphabetic) { list = list.OrderBy(x => x.ToString()).ToList(); } else { list = list.OrderBy(x => x.OrginalPosition).ToList(); } DiceChanger helper = viewModel.DiceChanger; talentList = new List <TalentViewModel>(); var obList = new ObservableCollection <TalentViewModel>(); //Dieser Code ist verbesserbar, aktuell nur funktional wenn die liste nur einen typen enthält if (typeof(AbstractTalentFighting).IsAssignableFrom(list[0].GetType())) { viewModel.Header.ATVisibility = true; viewModel.Header.PABLVisibility = true; viewModel.Header.ProbeTextVisibility = false; if (typeof(TalentRange).IsAssignableFrom(list[0].GetType())) { viewModel.Header.PABLVisibility = false; } } if (typeof(AbstractTalentGeneral).IsAssignableFrom(list[0].GetType())) { viewModel.Header.ATVisibility = false; viewModel.Header.PABLVisibility = false; viewModel.Header.ProbeTextVisibility = true; } foreach (var item in list) { var innerItem = new TalentViewModel(helper) { Talent = item }; talentList.Add(innerItem); obList.Add(innerItem); } await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { viewModel.TalentList = obList; viewModel.IsLoading = false; }); }
public List <Talent> GetTalentsBasedOnAttributeName(string attribute) { //Uncomment line below when talents are located in DB //List<Talent> TalentsBasedOnAttribute = _context.Talents.Where(t => t.TalentIsBasedOn == attribute).ToList(); var TalentsBasedOnAttribute = new TalentViewModel(); List <Talent> TalentsData = TalentsBasedOnAttribute.TalentData; List <Talent> AttributeTalentsData = TalentsData.Where(t => t.TalentIsBasedOn == attribute).ToList(); //Manage ArgumentNullExceptions return(TalentsData); }
public void SetTalent(TalentViewModel model) { this.Talent = model; }