mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-30 23:16:09 +00:00 
			
		
		
		
	Suite réorg main/items
This commit is contained in:
		
							parent
							
								
									11f2031b20
								
							
						
					
					
						commit
						e04be9e458
					
				
					 2 changed files with 114 additions and 70 deletions
				
			
		|  | @ -28,69 +28,69 @@ namespace AideDeJeu.ViewModels | |||
|         //protected ItemSourceType ItemSourceType; | ||||
| 
 | ||||
| 
 | ||||
|         private IEnumerable<Item> _AllItems = null; | ||||
|         public async Task<IEnumerable<Item>> GetAllItemsAsync() | ||||
|         { | ||||
|             if (_AllItems == null) | ||||
|             { | ||||
|                 string resourceName = null; | ||||
|                 switch (ItemSourceType) | ||||
|                 { | ||||
|                     case ItemSourceType.MonsterVO: | ||||
|                         { | ||||
|                             resourceName = "AideDeJeu.Data.monsters_vo.md"; | ||||
|                             var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||
|                             _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||
|                             //_AllItems = Tools.MarkdownExtensions.MarkdownToMonsters<MonsterVO>(md); | ||||
|                         } | ||||
|                         break; | ||||
|                     case ItemSourceType.MonsterHD: | ||||
|                         { | ||||
|                             resourceName = "AideDeJeu.Data.monsters_hd.md"; | ||||
|                             //var md = await Tools.Helpers.GetStringFromUrl("https://raw.githubusercontent.com/Nioux/AideDeJeu/master/Data/monsters_hd.md"); | ||||
|                             var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||
|                             _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||
|                             //_AllItems = Tools.MarkdownExtensions.MarkdownToMonsters<MonsterHD>(md); | ||||
|                         } | ||||
|                         break; | ||||
|                     case ItemSourceType.SpellVO: | ||||
|                         { | ||||
|                             resourceName = "AideDeJeu.Data.spells_vo.md"; | ||||
|                             var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||
|                             _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||
|                             //_AllItems = Tools.MarkdownExtensions.MarkdownToSpells<SpellVO>(md); | ||||
|                         } | ||||
|                         break; | ||||
|                     case ItemSourceType.SpellHD: | ||||
|                         { | ||||
|                             resourceName = "AideDeJeu.Data.spells_hd.md"; | ||||
|                             //var md = await Tools.Helpers.GetStringFromUrl("https://raw.githubusercontent.com/Nioux/AideDeJeu/master/Data/spells_hd.md"); | ||||
|                             var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||
|                             _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||
|                             //_AllItems = Tools.MarkdownExtensions.MarkdownToSpells<SpellHD>(md); | ||||
|                         } | ||||
|                         break; | ||||
|                     case ItemSourceType.ConditionVO: | ||||
|                         { | ||||
|                             resourceName = "AideDeJeu.Data.conditions_vo.md"; | ||||
|                             var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||
|                             _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||
|                             //_AllItems = Tools.MarkdownExtensions.MarkdownToConditions<AideDeJeuLib.Condition>(md); | ||||
|                         } | ||||
|                         break; | ||||
|                     case ItemSourceType.ConditionHD: | ||||
|                         { | ||||
|                             resourceName = "AideDeJeu.Data.conditions_hd.md"; | ||||
|                             //var md = await Tools.Helpers.GetStringFromUrl("https://raw.githubusercontent.com/Nioux/AideDeJeu/master/Data/spells_hd.md"); | ||||
|                             var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||
|                             _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||
|                             //_AllItems = Tools.MarkdownExtensions.MarkdownToConditions<AideDeJeuLib.Condition>(md); | ||||
|                         } | ||||
|                         break; | ||||
|                 } | ||||
|             } | ||||
|             return _AllItems; | ||||
|         } | ||||
|         //private IEnumerable<Item> _AllItems = null; | ||||
|         //public async Task<IEnumerable<Item>> GetAllItemsAsync() | ||||
|         //{ | ||||
|         //    if (_AllItems == null) | ||||
|         //    { | ||||
|         //        string resourceName = null; | ||||
|         //        switch (ItemSourceType) | ||||
|         //        { | ||||
|         //            case ItemSourceType.MonsterVO: | ||||
|         //                { | ||||
|         //                    resourceName = "AideDeJeu.Data.monsters_vo.md"; | ||||
|         //                    var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||
|         //                    _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||
|         //                    //_AllItems = Tools.MarkdownExtensions.MarkdownToMonsters<MonsterVO>(md); | ||||
|         //                } | ||||
|         //                break; | ||||
|         //            case ItemSourceType.MonsterHD: | ||||
|         //                { | ||||
|         //                    resourceName = "AideDeJeu.Data.monsters_hd.md"; | ||||
|         //                    //var md = await Tools.Helpers.GetStringFromUrl("https://raw.githubusercontent.com/Nioux/AideDeJeu/master/Data/monsters_hd.md"); | ||||
|         //                    var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||
|         //                    _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||
|         //                    //_AllItems = Tools.MarkdownExtensions.MarkdownToMonsters<MonsterHD>(md); | ||||
|         //                } | ||||
|         //                break; | ||||
|         //            case ItemSourceType.SpellVO: | ||||
|         //                { | ||||
|         //                    resourceName = "AideDeJeu.Data.spells_vo.md"; | ||||
|         //                    var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||
|         //                    _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||
|         //                    //_AllItems = Tools.MarkdownExtensions.MarkdownToSpells<SpellVO>(md); | ||||
|         //                } | ||||
|         //                break; | ||||
|         //            case ItemSourceType.SpellHD: | ||||
|         //                { | ||||
|         //                    resourceName = "AideDeJeu.Data.spells_hd.md"; | ||||
|         //                    //var md = await Tools.Helpers.GetStringFromUrl("https://raw.githubusercontent.com/Nioux/AideDeJeu/master/Data/spells_hd.md"); | ||||
|         //                    var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||
|         //                    _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||
|         //                    //_AllItems = Tools.MarkdownExtensions.MarkdownToSpells<SpellHD>(md); | ||||
|         //                } | ||||
|         //                break; | ||||
|         //            case ItemSourceType.ConditionVO: | ||||
|         //                { | ||||
|         //                    resourceName = "AideDeJeu.Data.conditions_vo.md"; | ||||
|         //                    var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||
|         //                    _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||
|         //                    //_AllItems = Tools.MarkdownExtensions.MarkdownToConditions<AideDeJeuLib.Condition>(md); | ||||
|         //                } | ||||
|         //                break; | ||||
|         //            case ItemSourceType.ConditionHD: | ||||
|         //                { | ||||
|         //                    resourceName = "AideDeJeu.Data.conditions_hd.md"; | ||||
|         //                    //var md = await Tools.Helpers.GetStringFromUrl("https://raw.githubusercontent.com/Nioux/AideDeJeu/master/Data/spells_hd.md"); | ||||
|         //                    var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||
|         //                    _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||
|         //                    //_AllItems = Tools.MarkdownExtensions.MarkdownToConditions<AideDeJeuLib.Condition>(md); | ||||
|         //                } | ||||
|         //                break; | ||||
|         //        } | ||||
|         //    } | ||||
|         //    return _AllItems; | ||||
|         //} | ||||
| 
 | ||||
|         private ItemSourceType _ItemSourceType = ItemSourceType.SpellHD; | ||||
|         public ItemSourceType ItemSourceType | ||||
|  | @ -157,7 +157,7 @@ namespace AideDeJeu.ViewModels | |||
|             try | ||||
|             { | ||||
|                 var filterViewModel = Filter;// Main.GetFilterViewModel(ItemSourceType); | ||||
|                 var items = await filterViewModel.FilterItems(await GetAllItemsAsync(), cancellationToken: cancellationToken); | ||||
|                 var items = await filterViewModel.FilterItems(await Main.GetAllItemsAsync(ItemSourceType), cancellationToken: cancellationToken); | ||||
|                 Items = items.ToList(); | ||||
|             } | ||||
|             catch (OperationCanceledException ex) | ||||
|  |  | |||
|  | @ -29,6 +29,54 @@ namespace AideDeJeu.ViewModels | |||
|             set => SetProperty(ref _isLoading, value); | ||||
|         } | ||||
| 
 | ||||
|         private Dictionary<ItemSourceType, IEnumerable<Item>> _AllItems = new Dictionary<ItemSourceType, IEnumerable<Item>>(); | ||||
|         public async Task<IEnumerable<Item>> GetAllItemsAsync(ItemSourceType itemSourceType) | ||||
|         { | ||||
|             if (!_AllItems.ContainsKey(itemSourceType)) | ||||
|             { | ||||
|                 string resourceName = null; | ||||
|                 switch (itemSourceType) | ||||
|                 { | ||||
|                     case ItemSourceType.MonsterVO: | ||||
|                         { | ||||
|                             resourceName = "monsters_vo"; | ||||
|                         } | ||||
|                         break; | ||||
|                     case ItemSourceType.MonsterHD: | ||||
|                         { | ||||
|                             resourceName = "monsters_hd"; | ||||
|                         } | ||||
|                         break; | ||||
|                     case ItemSourceType.SpellVO: | ||||
|                         { | ||||
|                             resourceName = "spells_vo"; | ||||
|                         } | ||||
|                         break; | ||||
|                     case ItemSourceType.SpellHD: | ||||
|                         { | ||||
|                             resourceName = "spells_hd"; | ||||
|                         } | ||||
|                         break; | ||||
|                     case ItemSourceType.ConditionVO: | ||||
|                         { | ||||
|                             resourceName = "conditions_vo"; | ||||
|                         } | ||||
|                         break; | ||||
|                     case ItemSourceType.ConditionHD: | ||||
|                         { | ||||
|                             resourceName = "conditions_hd"; | ||||
|                         } | ||||
|                         break; | ||||
|                 } | ||||
|                 //var md = await Tools.Helpers.GetStringFromUrl($"https://raw.githubusercontent.com/Nioux/AideDeJeu/master/Data/{resourceName}.md"); | ||||
|                 var md = await Tools.Helpers.GetResourceStringAsync($"AideDeJeu.Data.{resourceName}.md"); | ||||
|                 _AllItems[itemSourceType] = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||
|             } | ||||
|             return _AllItems[itemSourceType]; | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|         public List<KeyValuePair<ItemSourceType, string>> ItemsSources { get; set; } = new List<KeyValuePair<ItemSourceType, string>>() | ||||
|         { | ||||
|             new KeyValuePair<ItemSourceType, string>(ItemSourceType.SpellHD, "Sorts (H&D)"), | ||||
|  | @ -117,7 +165,7 @@ namespace AideDeJeu.ViewModels | |||
|             //    }); | ||||
|             GotoItemCommand = new Command<Item>(async (item) => | ||||
|             { | ||||
|                 await NavigateToItem(item); | ||||
|                 await Navigator.GotoItemDetailPageAsync(item); | ||||
|                 //await GetItemsViewModel(ItemSourceType).ExecuteGotoItemCommandAsync(item); | ||||
|             }); | ||||
|             //SwitchToSpellsHD = new Command(() => ItemSourceType = ItemSourceType.SpellHD); | ||||
|  | @ -161,10 +209,6 @@ namespace AideDeJeu.ViewModels | |||
|             return ItemSourceType.SpellHD; | ||||
|         } | ||||
| 
 | ||||
|         public async Task NavigateToItem(Item item) | ||||
|         { | ||||
|             await Navigator.GotoItemDetailPageAsync(item); | ||||
|         } | ||||
|         public async Task NavigateToLink(string s) | ||||
|         { | ||||
|             if (s != null) | ||||
|  | @ -176,7 +220,7 @@ namespace AideDeJeu.ViewModels | |||
|                     var file = match.Groups["file"].Value; | ||||
|                     var anchor = match.Groups["anchor"].Value; | ||||
|                     var itemSourceType = MDFileToItemSourceType(file); | ||||
|                     var spells = await GetItemsViewModel(itemSourceType).GetAllItemsAsync(); | ||||
|                     var spells = await GetAllItemsAsync(itemSourceType); | ||||
|                     var spell = spells.Where(i => Tools.Helpers.IdFromName(i.Name) == anchor).FirstOrDefault(); | ||||
|                     if (spell != null) | ||||
|                     { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez