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; |         //protected ItemSourceType ItemSourceType; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         private IEnumerable<Item> _AllItems = null; |         //private IEnumerable<Item> _AllItems = null; | ||||||
|         public async Task<IEnumerable<Item>> GetAllItemsAsync() |         //public async Task<IEnumerable<Item>> GetAllItemsAsync() | ||||||
|         { |         //{ | ||||||
|             if (_AllItems == null) |         //    if (_AllItems == null) | ||||||
|             { |         //    { | ||||||
|                 string resourceName = null; |         //        string resourceName = null; | ||||||
|                 switch (ItemSourceType) |         //        switch (ItemSourceType) | ||||||
|                 { |         //        { | ||||||
|                     case ItemSourceType.MonsterVO: |         //            case ItemSourceType.MonsterVO: | ||||||
|                         { |         //                { | ||||||
|                             resourceName = "AideDeJeu.Data.monsters_vo.md"; |         //                    resourceName = "AideDeJeu.Data.monsters_vo.md"; | ||||||
|                             var md = await Tools.Helpers.GetResourceStringAsync(resourceName); |         //                    var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||||
|                             _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; |         //                    _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||||
|                             //_AllItems = Tools.MarkdownExtensions.MarkdownToMonsters<MonsterVO>(md); |         //                    //_AllItems = Tools.MarkdownExtensions.MarkdownToMonsters<MonsterVO>(md); | ||||||
|                         } |         //                } | ||||||
|                         break; |         //                break; | ||||||
|                     case ItemSourceType.MonsterHD: |         //            case ItemSourceType.MonsterHD: | ||||||
|                         { |         //                { | ||||||
|                             resourceName = "AideDeJeu.Data.monsters_hd.md"; |         //                    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.GetStringFromUrl("https://raw.githubusercontent.com/Nioux/AideDeJeu/master/Data/monsters_hd.md"); | ||||||
|                             var md = await Tools.Helpers.GetResourceStringAsync(resourceName); |         //                    var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||||
|                             _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; |         //                    _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||||
|                             //_AllItems = Tools.MarkdownExtensions.MarkdownToMonsters<MonsterHD>(md); |         //                    //_AllItems = Tools.MarkdownExtensions.MarkdownToMonsters<MonsterHD>(md); | ||||||
|                         } |         //                } | ||||||
|                         break; |         //                break; | ||||||
|                     case ItemSourceType.SpellVO: |         //            case ItemSourceType.SpellVO: | ||||||
|                         { |         //                { | ||||||
|                             resourceName = "AideDeJeu.Data.spells_vo.md"; |         //                    resourceName = "AideDeJeu.Data.spells_vo.md"; | ||||||
|                             var md = await Tools.Helpers.GetResourceStringAsync(resourceName); |         //                    var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||||
|                             _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; |         //                    _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||||
|                             //_AllItems = Tools.MarkdownExtensions.MarkdownToSpells<SpellVO>(md); |         //                    //_AllItems = Tools.MarkdownExtensions.MarkdownToSpells<SpellVO>(md); | ||||||
|                         } |         //                } | ||||||
|                         break; |         //                break; | ||||||
|                     case ItemSourceType.SpellHD: |         //            case ItemSourceType.SpellHD: | ||||||
|                         { |         //                { | ||||||
|                             resourceName = "AideDeJeu.Data.spells_hd.md"; |         //                    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.GetStringFromUrl("https://raw.githubusercontent.com/Nioux/AideDeJeu/master/Data/spells_hd.md"); | ||||||
|                             var md = await Tools.Helpers.GetResourceStringAsync(resourceName); |         //                    var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||||
|                             _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; |         //                    _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||||
|                             //_AllItems = Tools.MarkdownExtensions.MarkdownToSpells<SpellHD>(md); |         //                    //_AllItems = Tools.MarkdownExtensions.MarkdownToSpells<SpellHD>(md); | ||||||
|                         } |         //                } | ||||||
|                         break; |         //                break; | ||||||
|                     case ItemSourceType.ConditionVO: |         //            case ItemSourceType.ConditionVO: | ||||||
|                         { |         //                { | ||||||
|                             resourceName = "AideDeJeu.Data.conditions_vo.md"; |         //                    resourceName = "AideDeJeu.Data.conditions_vo.md"; | ||||||
|                             var md = await Tools.Helpers.GetResourceStringAsync(resourceName); |         //                    var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||||
|                             _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; |         //                    _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||||
|                             //_AllItems = Tools.MarkdownExtensions.MarkdownToConditions<AideDeJeuLib.Condition>(md); |         //                    //_AllItems = Tools.MarkdownExtensions.MarkdownToConditions<AideDeJeuLib.Condition>(md); | ||||||
|                         } |         //                } | ||||||
|                         break; |         //                break; | ||||||
|                     case ItemSourceType.ConditionHD: |         //            case ItemSourceType.ConditionHD: | ||||||
|                         { |         //                { | ||||||
|                             resourceName = "AideDeJeu.Data.conditions_hd.md"; |         //                    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.GetStringFromUrl("https://raw.githubusercontent.com/Nioux/AideDeJeu/master/Data/spells_hd.md"); | ||||||
|                             var md = await Tools.Helpers.GetResourceStringAsync(resourceName); |         //                    var md = await Tools.Helpers.GetResourceStringAsync(resourceName); | ||||||
|                             _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; |         //                    _AllItems = Tools.MarkdownExtensions.ToItem(md) as IEnumerable<Item>; | ||||||
|                             //_AllItems = Tools.MarkdownExtensions.MarkdownToConditions<AideDeJeuLib.Condition>(md); |         //                    //_AllItems = Tools.MarkdownExtensions.MarkdownToConditions<AideDeJeuLib.Condition>(md); | ||||||
|                         } |         //                } | ||||||
|                         break; |         //                break; | ||||||
|                 } |         //        } | ||||||
|             } |         //    } | ||||||
|             return _AllItems; |         //    return _AllItems; | ||||||
|         } |         //} | ||||||
| 
 | 
 | ||||||
|         private ItemSourceType _ItemSourceType = ItemSourceType.SpellHD; |         private ItemSourceType _ItemSourceType = ItemSourceType.SpellHD; | ||||||
|         public ItemSourceType ItemSourceType |         public ItemSourceType ItemSourceType | ||||||
|  | @ -157,7 +157,7 @@ namespace AideDeJeu.ViewModels | ||||||
|             try |             try | ||||||
|             { |             { | ||||||
|                 var filterViewModel = Filter;// Main.GetFilterViewModel(ItemSourceType); |                 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(); |                 Items = items.ToList(); | ||||||
|             } |             } | ||||||
|             catch (OperationCanceledException ex) |             catch (OperationCanceledException ex) | ||||||
|  |  | ||||||
|  | @ -29,6 +29,54 @@ namespace AideDeJeu.ViewModels | ||||||
|             set => SetProperty(ref _isLoading, value); |             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>>() |         public List<KeyValuePair<ItemSourceType, string>> ItemsSources { get; set; } = new List<KeyValuePair<ItemSourceType, string>>() | ||||||
|         { |         { | ||||||
|             new KeyValuePair<ItemSourceType, string>(ItemSourceType.SpellHD, "Sorts (H&D)"), |             new KeyValuePair<ItemSourceType, string>(ItemSourceType.SpellHD, "Sorts (H&D)"), | ||||||
|  | @ -117,7 +165,7 @@ namespace AideDeJeu.ViewModels | ||||||
|             //    }); |             //    }); | ||||||
|             GotoItemCommand = new Command<Item>(async (item) => |             GotoItemCommand = new Command<Item>(async (item) => | ||||||
|             { |             { | ||||||
|                 await NavigateToItem(item); |                 await Navigator.GotoItemDetailPageAsync(item); | ||||||
|                 //await GetItemsViewModel(ItemSourceType).ExecuteGotoItemCommandAsync(item); |                 //await GetItemsViewModel(ItemSourceType).ExecuteGotoItemCommandAsync(item); | ||||||
|             }); |             }); | ||||||
|             //SwitchToSpellsHD = new Command(() => ItemSourceType = ItemSourceType.SpellHD); |             //SwitchToSpellsHD = new Command(() => ItemSourceType = ItemSourceType.SpellHD); | ||||||
|  | @ -161,10 +209,6 @@ namespace AideDeJeu.ViewModels | ||||||
|             return ItemSourceType.SpellHD; |             return ItemSourceType.SpellHD; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public async Task NavigateToItem(Item item) |  | ||||||
|         { |  | ||||||
|             await Navigator.GotoItemDetailPageAsync(item); |  | ||||||
|         } |  | ||||||
|         public async Task NavigateToLink(string s) |         public async Task NavigateToLink(string s) | ||||||
|         { |         { | ||||||
|             if (s != null) |             if (s != null) | ||||||
|  | @ -176,7 +220,7 @@ namespace AideDeJeu.ViewModels | ||||||
|                     var file = match.Groups["file"].Value; |                     var file = match.Groups["file"].Value; | ||||||
|                     var anchor = match.Groups["anchor"].Value; |                     var anchor = match.Groups["anchor"].Value; | ||||||
|                     var itemSourceType = MDFileToItemSourceType(file); |                     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(); |                     var spell = spells.Where(i => Tools.Helpers.IdFromName(i.Name) == anchor).FirstOrDefault(); | ||||||
|                     if (spell != null) |                     if (spell != null) | ||||||
|                     { |                     { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez