mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-12-16 15:19:56 +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