mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-10-30 06:56:10 +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