From 632781d1adf54287ecfe7cbcbc17074e14a769b2 Mon Sep 17 00:00:00 2001 From: TrueDoctor Date: Sat, 29 Sep 2018 23:59:42 +0200 Subject: added database methods --- DSACore/Models/Database/Advantage.cs | 19 +++++++++++++ DSACore/Models/Database/Char.cs | 27 ------------------- DSACore/Models/Database/CharSpell.cs | 10 +++++-- DSACore/Models/Database/DatabaseChar.cs | 47 +++++++++++++++++++++++++++++++++ DSACore/Models/Database/Field.cs | 10 +++++-- DSACore/Models/Database/GeneralSpell.cs | 2 +- DSACore/Models/Database/Group.cs | 9 ++++--- DSACore/Models/Database/GroupChar.cs | 14 +++++----- DSACore/Models/Database/Inventory.cs | 8 +++--- DSACore/Models/Database/Roll.cs | 2 +- DSACore/Models/Database/Talent.cs | 4 +-- DSACore/Models/Database/Weapon.cs | 8 +++--- DSACore/Models/Database/WeaponTalent.cs | 19 +++++++++---- 13 files changed, 120 insertions(+), 59 deletions(-) create mode 100644 DSACore/Models/Database/Advantage.cs delete mode 100644 DSACore/Models/Database/Char.cs create mode 100644 DSACore/Models/Database/DatabaseChar.cs (limited to 'DSACore/Models/Database') diff --git a/DSACore/Models/Database/Advantage.cs b/DSACore/Models/Database/Advantage.cs new file mode 100644 index 0000000..67965fc --- /dev/null +++ b/DSACore/Models/Database/Advantage.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace DSACore.Models.Database +{ + public class Advantage + { + public Advantage(string name, string value = "") + { + Name = name ?? throw new ArgumentNullException(nameof(name)); + Value = value ?? throw new ArgumentNullException(nameof(value)); + } + + public string Name { get; set; } + public string Value { get; set; } + } +} diff --git a/DSACore/Models/Database/Char.cs b/DSACore/Models/Database/Char.cs deleted file mode 100644 index 04c16f0..0000000 --- a/DSACore/Models/Database/Char.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -namespace DSACore.Models.Database -{ - public class Char - { - private int Id { get; set; } - - private string Name { get; set; } - - private string Rasse { get; set; } - - private List Skills { get; set; } = new List(); - - private List Talents { get; set; } = new List(); - - private List Advantages { get; set; } = new List(); - - private List Spells { get; set; } = new List(); - - private List WeaponTalents { get; set; } = new List(); - - } -} diff --git a/DSACore/Models/Database/CharSpell.cs b/DSACore/Models/Database/CharSpell.cs index cdb5447..670488c 100644 --- a/DSACore/Models/Database/CharSpell.cs +++ b/DSACore/Models/Database/CharSpell.cs @@ -7,7 +7,13 @@ namespace DSACore.Models.Database { public class CharSpell { - private string representation { get; set; } - private int value { get; set; } + public CharSpell(string representation, int value) + { + this.representation = representation ?? throw new ArgumentNullException(nameof(representation)); + this.value = value; + } + + public string representation { get; set; } + public int value { get; set; } } } diff --git a/DSACore/Models/Database/DatabaseChar.cs b/DSACore/Models/Database/DatabaseChar.cs new file mode 100644 index 0000000..03383b8 --- /dev/null +++ b/DSACore/Models/Database/DatabaseChar.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using DSALib; + +namespace DSACore.Models.Database +{ + public class DatabaseChar + { + public int Id { get; set; } + + public string Name { get; set; } + + public string Rasse { get; set; } + + public List Skills { get; set; } = new List(); + + public List Talents { get; set; } = new List(); + + public List Advantages { get; set; } = new List(); + + public List Spells { get; set; } = new List(); + + public List WeaponTalents { get; set; } = new List(); + + + public static void LoadChar(DSA_Game.Characters.Character file, out GroupChar group, out DatabaseChar data) + { + group = new GroupChar(); + data = new DatabaseChar(); + + group.Name = file.Name.Split(' ').First(); + group.Weapon = new Weapon(); + group.Lp = group.LpMax = file.Lebenspunkte_Basis; + group.As = group.AsMax = file.Astralpunkte_Basis; + group.Weapon = new Weapon(); + + data.Name = file.Name; + data.Advantages = file.Vorteile.Select(x => new Advantage(x.Name, x.Value)).ToList(); + data.Skills = file.Eigenschaften.Select(x => new Field(x.Key, x.Value)).ToList(); + data.Spells = file.Zauber.Select(x => new CharSpell(x.Representation, x.Value)).ToList(); + data.Talents = file.Talente.Select(x => new Field(x.Name, x.Value)).ToList(); + data.WeaponTalents = file.Kampftalente.Select(x => new WeaponTalent(x.Name, x.At, x.Pa)).ToList(); + } + } +} diff --git a/DSACore/Models/Database/Field.cs b/DSACore/Models/Database/Field.cs index fe1ea1f..b14d9da 100644 --- a/DSACore/Models/Database/Field.cs +++ b/DSACore/Models/Database/Field.cs @@ -7,7 +7,13 @@ namespace DSACore.Models.Database { public class Field { - private string Name { get; set; } - private int value { get; set; } + public Field(string name, int value = 0) + { + Name = name ?? throw new ArgumentNullException(nameof(name)); + this.Value = value; + } + + public string Name { get; set; } + public int Value { get; set; } } } diff --git a/DSACore/Models/Database/GeneralSpell.cs b/DSACore/Models/Database/GeneralSpell.cs index 4f2a8cb..807a09b 100644 --- a/DSACore/Models/Database/GeneralSpell.cs +++ b/DSACore/Models/Database/GeneralSpell.cs @@ -7,6 +7,6 @@ namespace DSACore.Models.Database { public class GeneralSpell : Talent { - private string Comlexity = "A"; + public string Comlexity = "A"; } } diff --git a/DSACore/Models/Database/Group.cs b/DSACore/Models/Database/Group.cs index fb17909..0273aed 100644 --- a/DSACore/Models/Database/Group.cs +++ b/DSACore/Models/Database/Group.cs @@ -7,9 +7,10 @@ namespace DSACore.Models.Database { public class Group { - private string Name { get; set; } - private string Discord { get; set; } - private int Id { get; set; } - private List Chars { get; set; }= new List(); + public string Name { get; set; } + public string Discord { get; set; } + public string Password { get; set; } + public int Id { get; set; } + public List Chars { get; set; }= new List(); } } diff --git a/DSACore/Models/Database/GroupChar.cs b/DSACore/Models/Database/GroupChar.cs index 66e203b..1dfc4ea 100644 --- a/DSACore/Models/Database/GroupChar.cs +++ b/DSACore/Models/Database/GroupChar.cs @@ -7,12 +7,12 @@ namespace DSACore.Models.Database { public class GroupChar { - private string Name { get; set; } - private int Id { get; set; } - private int Lp { get; set; } - private int LpMax { get; set; } - private int As { get; set; } - private int AsMax { get; set; } - private Weapon Weapon { get; set; } + public string Name { get; set; } + public int Id { get; set; } + public int Lp { get; set; } + public int LpMax { get; set; } + public int As { get; set; } + public int AsMax { get; set; } + public Weapon Weapon { get; set; } } } diff --git a/DSACore/Models/Database/Inventory.cs b/DSACore/Models/Database/Inventory.cs index 8e525c6..e6b47ec 100644 --- a/DSACore/Models/Database/Inventory.cs +++ b/DSACore/Models/Database/Inventory.cs @@ -7,9 +7,9 @@ namespace DSACore.Models.Database { public class Inventory { - private int Id { get; set; } - private List Items { get; set; } = new List(); - private List Food { get; set; } = new List(); - private List Weapons { get; set; } = new List(); + public int Id { get; set; } + public Dictionary Items { get; set; } = new Dictionary(); + public Dictionary Food { get; set; } = new Dictionary(); + public List Weapons { get; set; } = new List(); } } diff --git a/DSACore/Models/Database/Roll.cs b/DSACore/Models/Database/Roll.cs index c931e70..547fde4 100644 --- a/DSACore/Models/Database/Roll.cs +++ b/DSACore/Models/Database/Roll.cs @@ -7,6 +7,6 @@ namespace DSACore.Models.Database { public class Roll { - private string[] Skills { get; set; } = new string[3]; + public string[] Skills { get; set; } = new string[3]; } } diff --git a/DSACore/Models/Database/Talent.cs b/DSACore/Models/Database/Talent.cs index d7bfaae..6bd8cba 100644 --- a/DSACore/Models/Database/Talent.cs +++ b/DSACore/Models/Database/Talent.cs @@ -7,8 +7,8 @@ namespace DSACore.Models.Database { public class Talent { - private string Name { get; set; } + public string Name { get; set; } - private Roll Roll { get; set; } = new Roll(); + public Roll Roll { get; set; } = new Roll(); } } diff --git a/DSACore/Models/Database/Weapon.cs b/DSACore/Models/Database/Weapon.cs index b72ec20..9c75b30 100644 --- a/DSACore/Models/Database/Weapon.cs +++ b/DSACore/Models/Database/Weapon.cs @@ -7,9 +7,9 @@ namespace DSACore.Models.Database { public class Weapon { - private string Name { get; set; } - private string Damage { get; set; } - private string WeaponTalent { get; set; } - private string Modifier { get; set; } + public string Name { get; set; } + public string Damage { get; set; } + public string WeaponTalent { get; set; } + public string Modifier { get; set; } } } diff --git a/DSACore/Models/Database/WeaponTalent.cs b/DSACore/Models/Database/WeaponTalent.cs index 37d7150..4b98d24 100644 --- a/DSACore/Models/Database/WeaponTalent.cs +++ b/DSACore/Models/Database/WeaponTalent.cs @@ -1,9 +1,18 @@ -namespace DSACore.Models.Database +using System; + +namespace DSACore.Models.Database { - class WeaponTalent + public class WeaponTalent { - private string Name { get; set; } - private int At { get; set; } - private int Pa { get; set; } + public WeaponTalent(string name, int at, int pa) + { + Name = name ?? throw new ArgumentNullException(nameof(name)); + At = at; + Pa = pa; + } + + public string Name { get; set; } + public int At { get; set; } + public int Pa { get; set; } } } \ No newline at end of file -- cgit v1.2.3-54-g00ecf