From 37198340ec8b798c7b5825b782caeb3f9ad35184 Mon Sep 17 00:00:00 2001 From: Yan Maniez Date: Sun, 27 May 2018 23:53:32 +0200 Subject: [PATCH] Switch VF/VO/H&D --- .../AideDeJeu/ViewModels/MainViewModel.cs | 21 +++++++++++--- .../AideDeJeu/ViewModels/SpellsViewModel.cs | 29 ++++++++++++------- AideDeJeu/AideDeJeu/Views/MainPage.xaml | 3 ++ 3 files changed, 39 insertions(+), 14 deletions(-) diff --git a/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs index 53c68dbd..601f38a1 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs @@ -37,7 +37,7 @@ namespace AideDeJeu.ViewModels public class MainViewModel : BaseViewModel { - private ItemSourceType _ItemSourceType = ItemSourceType.SpellVF; + private ItemSourceType _ItemSourceType = ItemSourceType.SpellHD; public ItemSourceType ItemSourceType { get @@ -49,8 +49,8 @@ namespace AideDeJeu.ViewModels //CurrentViewModel.SearchText = ""; SetProperty(ref _ItemSourceType, value); //CurrentViewModel.SearchText = ""; + LoadItemsCommand.Execute(null); OnPropertyChanged(nameof(Items)); - //LoadItemsCommand.Execute(null); } } @@ -73,7 +73,12 @@ namespace AideDeJeu.ViewModels public Dictionary> AllItemsViewModel = new Dictionary>() { - { ItemSourceType.SpellVF, new Lazy(() => new SpellsViewModel()) }, + { ItemSourceType.SpellVF, new Lazy(() => new SpellsViewModel(ItemSourceType.SpellVF)) }, + { ItemSourceType.SpellVO, new Lazy(() => new SpellsViewModel(ItemSourceType.SpellVO)) }, + { ItemSourceType.SpellHD, new Lazy(() => new SpellsViewModel(ItemSourceType.SpellHD)) }, + { ItemSourceType.MonsterVF, new Lazy(() => new MonstersViewModel()) }, + { ItemSourceType.MonsterVO, new Lazy(() => new MonstersViewModel()) }, + { ItemSourceType.MonsterHD, new Lazy(() => new MonstersViewModel()) }, }; public ItemsViewModel GetItemsViewModel(ItemSourceType itemSourceType) @@ -84,6 +89,8 @@ namespace AideDeJeu.ViewModels public Dictionary> AllFiltersViewModel = new Dictionary>() { { ItemSourceType.SpellVF, new Lazy(() => new VFSpellFilterViewModel()) }, + { ItemSourceType.SpellVO, new Lazy(() => new VOSpellFilterViewModel()) }, + { ItemSourceType.SpellHD, new Lazy(() => new HDSpellFilterViewModel()) }, }; public FilterViewModel GetFilterViewModel(ItemSourceType itemSourceType) @@ -137,6 +144,9 @@ namespace AideDeJeu.ViewModels public Command SwitchToSpells { get; private set; } public Command SwitchToMonsters { get; private set; } + public Command SwitchToVF { get; private set; } + public Command SwitchToVO { get; private set; } + public Command SwitchToHD { get; private set; } public Command AboutCommand { get; private set; } public Command SearchCommand { get; private set; } @@ -145,10 +155,13 @@ namespace AideDeJeu.ViewModels { //Spells = new SpellsViewModel(navigator, Items); //Monsters = new MonstersViewModel(navigator, Items); - LoadItemsCommand = new Command(async () => GetItemsViewModel(ItemSourceType).ExecuteLoadItemsCommand(GetFilterViewModel(ItemSourceType))); + LoadItemsCommand = new Command(() => GetItemsViewModel(ItemSourceType).ExecuteLoadItemsCommand(GetFilterViewModel(ItemSourceType))); GotoItemCommand = new Command(async (item) => await GetItemsViewModel(ItemSourceType).ExecuteGotoItemCommandAsync(item)); SwitchToSpells = new Command(() => ItemSourceType = (ItemSourceType & ~ ItemSourceType.Monster) | ItemSourceType.Spell); SwitchToMonsters = new Command(() => ItemSourceType = (ItemSourceType & ~ItemSourceType.Spell) | ItemSourceType.Monster); + SwitchToVF = new Command(() => ItemSourceType = (ItemSourceType & ~ItemSourceType.VO & ~ItemSourceType.HD) | ItemSourceType.VF); + SwitchToVO = new Command(() => ItemSourceType = (ItemSourceType & ~ItemSourceType.VF & ~ItemSourceType.HD) | ItemSourceType.VO); + SwitchToHD = new Command(() => ItemSourceType = (ItemSourceType & ~ItemSourceType.VF & ~ItemSourceType.VO) | ItemSourceType.HD); //AboutCommand = new Command(async() => await navigator.GotoAboutPageAsync()); //SearchCommand = new Command((text) => GetItemsViewModel(ItemSourceType).SearchText = text); } diff --git a/AideDeJeu/AideDeJeu/ViewModels/SpellsViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/SpellsViewModel.cs index 9b71afc1..548db346 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/SpellsViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/SpellsViewModel.cs @@ -14,6 +14,11 @@ namespace AideDeJeu.ViewModels { public class SpellsViewModel : ItemsViewModel { + ItemSourceType ItemSourceType; + public SpellsViewModel(ItemSourceType itemSourceType) + { + this.ItemSourceType = itemSourceType; + } private IEnumerable _AllSpells = null; private IEnumerable AllSpells { @@ -21,16 +26,20 @@ namespace AideDeJeu.ViewModels { if(_AllSpells == null) { - _AllSpells = Tools.Helpers.GetResourceObject>("AideDeJeu.Data.spells_vf.json"); - //var serializer = new DataContractJsonSerializer(typeof(IEnumerable)); - //var assembly = typeof(AboutViewModel).GetTypeInfo().Assembly; - ////var names = assembly.GetManifestResourceNames(); - ////using (var stream = assembly.GetManifestResourceStream("AideDeJeu.Data.spells_hd.json")) - //using (var stream = assembly.GetManifestResourceStream("AideDeJeu.Data.spells_vf.json")) - ////using (var stream = assembly.GetManifestResourceStream("AideDeJeu.Data.spells_vo.json")) - //{ - // _AllSpells = serializer.ReadObject(stream) as IEnumerable; - //} + string resourceName = null; + switch(ItemSourceType) + { + case ItemSourceType.SpellVF: + resourceName = "AideDeJeu.Data.spells_vf.json"; + break; + case ItemSourceType.SpellVO: + resourceName = "AideDeJeu.Data.spells_vo.json"; + break; + case ItemSourceType.SpellHD: + resourceName = "AideDeJeu.Data.spells_hd.json"; + break; + } + _AllSpells = Tools.Helpers.GetResourceObject>(resourceName); } return _AllSpells; } diff --git a/AideDeJeu/AideDeJeu/Views/MainPage.xaml b/AideDeJeu/AideDeJeu/Views/MainPage.xaml index 01522a73..9f86cc1d 100644 --- a/AideDeJeu/AideDeJeu/Views/MainPage.xaml +++ b/AideDeJeu/AideDeJeu/Views/MainPage.xaml @@ -87,6 +87,9 @@ + + +