1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-30 23:16:09 +00:00

Debug init

This commit is contained in:
Yan Maniez 2019-04-16 06:09:08 +02:00
parent 9321fc4bc3
commit 0fa1b4c28e
5 changed files with 60 additions and 52 deletions

View file

@ -18,8 +18,12 @@ using YamlDotNet.Serialization.NamingConventions;
namespace AideDeJeuLib namespace AideDeJeuLib
{ {
interface IItem
{
}
[DataContract] [DataContract]
public class Item //: IList<Item> public class Item : IItem //: IList<Item>
{ {
protected List<Item> _Items; protected List<Item> _Items;

View file

@ -2,7 +2,27 @@
namespace AideDeJeuLib namespace AideDeJeuLib
{ {
interface IRaceItem : IItem
{
string FullName { get; set; }
bool HasSubRaces { get; set; }
string StrengthBonus { get; set; }
string DexterityBonus { get; set; }
string ConstitutionBonus { get; set; }
string IntelligenceBonus { get; set; }
string WisdomBonus { get; set; }
string CharismaBonus { get; set; }
string AnyAbilityBonus { get; set; }
string AbilityScoreIncrease { get; set; }
string Age { get; set; }
string Alignment { get; set; }
string Size { get; set; }
string Speed { get; set; }
string Darkvision { get; set; }
string Languages { get; set; }
}
public class RaceItem : Item public class RaceItem : Item
{ {
[DataMember] [DataMember]

View file

@ -29,7 +29,15 @@ namespace AideDeJeu.ViewModels
get => !_isLoading; get => !_isLoading;
} }
public NotifyTaskCompletion<int> DebugCount = new NotifyTaskCompletion<int>(Task.Run(() => GetItemsCountAsync()));
public static async Task<int> GetItemsCountAsync()
{
using (var context = await StoreViewModel.GetLibraryContextAsync())
{
return context.Items.Count();
}
}
/* /*
void AddAnchor(string source, Dictionary<string, Item> anchors, Item item) void AddAnchor(string source, Dictionary<string, Item> anchors, Item item)
{ {

View file

@ -18,7 +18,7 @@ namespace AideDeJeu.ViewModels
public PlayerCharacterEditorViewModel() public PlayerCharacterEditorViewModel()
{ {
ResetAlignments(); ResetAlignments();
Races = new NotifyTaskCompletion<List<RaceItemExpanded>>(Task.Run(() => LoadRacesAsync())); Races = new NotifyTaskCompletion<List<ExpandedRaceItem>>(Task.Run(() => LoadRacesAsync()));
Classes = new NotifyTaskCompletion<List<ClassItem>>(Task.Run(() => LoadClassesAsync())); Classes = new NotifyTaskCompletion<List<ClassItem>>(Task.Run(() => LoadClassesAsync()));
Backgrounds = new NotifyTaskCompletion<List<BackgroundItem>>(Task.Run(() => LoadBackgroundsAsync())); Backgrounds = new NotifyTaskCompletion<List<BackgroundItem>>(Task.Run(() => LoadBackgroundsAsync()));
@ -149,7 +149,7 @@ namespace AideDeJeu.ViewModels
#endregion Alignment #endregion Alignment
#region Race #region Race
public NotifyTaskCompletion<List<RaceItemExpanded>> Races { get; private set; } public NotifyTaskCompletion<List<ExpandedRaceItem>> Races { get; private set; }
private int _RaceSelectedIndex = -1; private int _RaceSelectedIndex = -1;
public int RaceSelectedIndex public int RaceSelectedIndex
{ {
@ -166,8 +166,8 @@ namespace AideDeJeu.ViewModels
} }
} }
} }
private RaceItemExpanded _SelectedRace = null; private ExpandedRaceItem _SelectedRace = null;
public RaceItemExpanded SelectedRace public ExpandedRaceItem SelectedRace
{ {
get get
{ {
@ -180,53 +180,17 @@ namespace AideDeJeu.ViewModels
} }
} }
public class RaceItemExpanded : RaceItem public class ExpandedRaceItem : RaceItem
{ {
public RaceItem Race { get; set; } public RaceItem Race { get; set; }
public SubRaceItem SubRace { get; set; } public SubRaceItem SubRace { get; set; }
private RaceItem RaceOrSubRace private RaceItem RaceOrSubRace { get { return SubRace ?? Race; } }
{ public override string Name { get { return RaceOrSubRace.Name; } }
get public override string Description { get { return RaceOrSubRace.Description; } }
{ public override string NewId { get { return RaceOrSubRace.NewId; } }
return SubRace ?? Race; public override string Id { get { return RaceOrSubRace.Id; } }
} public override string RootId { get { return RaceOrSubRace.RootId; } }
}
public override string Name
{
get
{
return RaceOrSubRace.Name;
}
}
public override string Description
{
get
{
return RaceOrSubRace.Description;
}
}
public override string NewId
{
get
{
return RaceOrSubRace.NewId;
}
}
public override string Id
{
get
{
return RaceOrSubRace.Id;
}
}
public override string RootId
{
get
{
return RaceOrSubRace.RootId;
}
}
public override string AbilityScoreIncrease public override string AbilityScoreIncrease
{ {
@ -267,11 +231,11 @@ namespace AideDeJeu.ViewModels
public override string Darkvision { get { return Race.Darkvision; } } public override string Darkvision { get { return Race.Darkvision; } }
public override string Languages { get { return Race.Languages; } } public override string Languages { get { return Race.Languages; } }
} }
public async Task<List<RaceItemExpanded>> LoadRacesAsync() public async Task<List<ExpandedRaceItem>> LoadRacesAsync()
{ {
using (var context = await StoreViewModel.GetLibraryContextAsync()) using (var context = await StoreViewModel.GetLibraryContextAsync())
{ {
var expandedRaces = new List<RaceItemExpanded>(); var expandedRaces = new List<ExpandedRaceItem>();
var races = context.Races.Where(r => r.GetType() == typeof(RaceItem)); var races = context.Races.Where(r => r.GetType() == typeof(RaceItem));
foreach(var race in races) foreach(var race in races)
{ {
@ -280,12 +244,12 @@ namespace AideDeJeu.ViewModels
var subraces = context.SubRaces.Where(sr => sr.ParentLink == race.Id); var subraces = context.SubRaces.Where(sr => sr.ParentLink == race.Id);
foreach(var subrace in subraces) foreach(var subrace in subraces)
{ {
expandedRaces.Add(new RaceItemExpanded() { Race = race, SubRace = subrace }); expandedRaces.Add(new ExpandedRaceItem() { Race = race, SubRace = subrace });
} }
} }
else else
{ {
expandedRaces.Add(new RaceItemExpanded() { Race = race, SubRace = null }); expandedRaces.Add(new ExpandedRaceItem() { Race = race, SubRace = null });
} }
} }
return expandedRaces; return expandedRaces;
@ -324,6 +288,17 @@ namespace AideDeJeu.ViewModels
} }
} }
public class ExpandedClassItem
{
public ClassItem Class { get; set; }
public SubClassItem SubClass { get; set; }
public ClassHitPointsItem HitPoints { get; set; }
public ClassProficienciesItem Proficiencies { get; set; }
public ClassEquipmentItem Equipment { get; set; }
public ClassEvolutionItem Evolution { get; set; }
public List<ClassFeatureItem> Features { get; set; }
}
public async Task<List<ClassItem>> LoadClassesAsync() public async Task<List<ClassItem>> LoadClassesAsync()
{ {
using (var context = await StoreViewModel.GetLibraryContextAsync()) using (var context = await StoreViewModel.GetLibraryContextAsync())

View file

@ -42,6 +42,7 @@
<ContentPage.Content> <ContentPage.Content>
<ScrollView> <ScrollView>
<FlexLayout> <FlexLayout>
<Label Text="{Binding Main.DebugCount.Result, StringFormat='Count : {0}'}" TextColor="Red" />
<Grid> <Grid>
<Label Text="Personnages" /> <Label Text="Personnages" />
<!--<Image Source="battle_axe.png" Parent="30" />--> <!--<Image Source="battle_axe.png" Parent="30" />-->