1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-30 15:06:06 +00:00
This commit is contained in:
Yan Maniez 2019-04-19 16:35:50 +02:00
parent 8d5d337626
commit 2e288eb333

View file

@ -24,25 +24,38 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
public ClassEquipmentItem Equipment { get { return _Equipment; } set { SetProperty(ref _Equipment, value); } } public ClassEquipmentItem Equipment { get { return _Equipment; } set { SetProperty(ref _Equipment, value); } }
public ClassEvolutionItem _Evolution = null; public ClassEvolutionItem _Evolution = null;
public ClassEvolutionItem Evolution { get { return _Evolution; } set { SetProperty(ref _Evolution, value); } } public ClassEvolutionItem Evolution { get { return _Evolution; } set { SetProperty(ref _Evolution, value); OnPropertyChanged(nameof(LeveledFeatures)); } }
public List<ClassFeatureItem> _Features = null; public List<ClassFeatureItem> _Features = null;
public List<ClassFeatureItem> Features { get { return _Features; } set { SetProperty(ref _Features, value); } } public List<ClassFeatureItem> Features { get { return _Features; } set { SetProperty(ref _Features, value); OnPropertyChanged(nameof(LeveledFeatures)); } }
public string Name { get { return Class?.Name; } } public string Name { get { return Class?.Name; } }
public string Description { get { return Class?.Description; } } public string Description { get { return Class?.Description; } }
public string Markdown { get { return Class?.Markdown; } } public string Markdown { get { return Class?.Markdown; } }
private List<ClassFeatureItem> _LeveledFeatures = null;
public List<ClassFeatureItem> LeveledFeatures public List<ClassFeatureItem> LeveledFeatures
{ {
get get
{ {
return _LeveledFeatures; if (Evolution != null && Features != null)
}
set
{ {
SetProperty(ref _LeveledFeatures, value); var table = Evolution.ExtractSimpleTable(Evolution.Table);
if (table != null)
{
var feats = table[ColumnIndex(table, "Aptitudes"), 2];
var leveledFeats = new List<ClassFeatureItem>();
foreach (var feature in Features)
{
if (feats.Contains(feature.Id))
{
leveledFeats.Add(feature);
}
}
return leveledFeats;
}
}
return null;
} }
} }
@ -57,24 +70,6 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
} }
return -1; return -1;
} }
public void InitLeveledFeatures()
{
if (Evolution != null)
{
var table = Evolution.ExtractSimpleTable(Evolution.Table);
var feats = table[ColumnIndex(table, "Aptitudes"), 2];
var leveledFeats = new List<ClassFeatureItem>();
foreach (var feature in Features)
{
if (feats.Contains(feature.Id))
{
leveledFeats.Add(feature);
}
}
LeveledFeatures = leveledFeats;
}
}
public async Task LoadDetailsAsync() public async Task LoadDetailsAsync()
{ {
@ -85,7 +80,6 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
Equipment = await context.ClassEquipments.Where(c => c.ParentLink == Class.Id).FirstOrDefaultAsync(); Equipment = await context.ClassEquipments.Where(c => c.ParentLink == Class.Id).FirstOrDefaultAsync();
Evolution = await context.ClassEvolutions.Where(c => c.ParentLink == Class.Id).FirstOrDefaultAsync(); Evolution = await context.ClassEvolutions.Where(c => c.ParentLink == Class.Id).FirstOrDefaultAsync();
Features = await context.ClassFeatures.Where(c => c.ParentLink == Class.Id).ToListAsync(); Features = await context.ClassFeatures.Where(c => c.ParentLink == Class.Id).ToListAsync();
InitLeveledFeatures();
} }
} }
} }