1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-30 06:56:10 +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
{
interface IItem
{
}
[DataContract]
public class Item //: IList<Item>
public class Item : IItem //: IList<Item>
{
protected List<Item> _Items;

View file

@ -2,7 +2,27 @@
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
{
[DataMember]

View file

@ -29,7 +29,15 @@ namespace AideDeJeu.ViewModels
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)
{

View file

@ -18,7 +18,7 @@ namespace AideDeJeu.ViewModels
public PlayerCharacterEditorViewModel()
{
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()));
Backgrounds = new NotifyTaskCompletion<List<BackgroundItem>>(Task.Run(() => LoadBackgroundsAsync()));
@ -149,7 +149,7 @@ namespace AideDeJeu.ViewModels
#endregion Alignment
#region Race
public NotifyTaskCompletion<List<RaceItemExpanded>> Races { get; private set; }
public NotifyTaskCompletion<List<ExpandedRaceItem>> Races { get; private set; }
private int _RaceSelectedIndex = -1;
public int RaceSelectedIndex
{
@ -166,8 +166,8 @@ namespace AideDeJeu.ViewModels
}
}
}
private RaceItemExpanded _SelectedRace = null;
public RaceItemExpanded SelectedRace
private ExpandedRaceItem _SelectedRace = null;
public ExpandedRaceItem SelectedRace
{
get
{
@ -180,53 +180,17 @@ namespace AideDeJeu.ViewModels
}
}
public class RaceItemExpanded : RaceItem
public class ExpandedRaceItem : RaceItem
{
public RaceItem Race { get; set; }
public SubRaceItem SubRace { get; set; }
private RaceItem RaceOrSubRace
{
get
{
return SubRace ?? Race;
}
}
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;
}
}
private RaceItem RaceOrSubRace { get { return SubRace ?? Race; } }
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
{
@ -267,11 +231,11 @@ namespace AideDeJeu.ViewModels
public override string Darkvision { get { return Race.Darkvision; } }
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())
{
var expandedRaces = new List<RaceItemExpanded>();
var expandedRaces = new List<ExpandedRaceItem>();
var races = context.Races.Where(r => r.GetType() == typeof(RaceItem));
foreach(var race in races)
{
@ -280,12 +244,12 @@ namespace AideDeJeu.ViewModels
var subraces = context.SubRaces.Where(sr => sr.ParentLink == race.Id);
foreach(var subrace in subraces)
{
expandedRaces.Add(new RaceItemExpanded() { Race = race, SubRace = subrace });
expandedRaces.Add(new ExpandedRaceItem() { Race = race, SubRace = subrace });
}
}
else
{
expandedRaces.Add(new RaceItemExpanded() { Race = race, SubRace = null });
expandedRaces.Add(new ExpandedRaceItem() { Race = race, SubRace = null });
}
}
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()
{
using (var context = await StoreViewModel.GetLibraryContextAsync())

View file

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