summaryrefslogtreecommitdiff
path: root/DSACore/Models/Database
diff options
context:
space:
mode:
authorTrueDoctor <d-kobert@web.de>2018-09-29 23:59:42 +0200
committerTrueDoctor <d-kobert@web.de>2018-09-29 23:59:42 +0200
commit632781d1adf54287ecfe7cbcbc17074e14a769b2 (patch)
treeed8d27601fa4ccfa5552af9ef104d1467a05d8e8 /DSACore/Models/Database
parent33dc613fffad69c1c608e21eac6fcd3f2954ead8 (diff)
added database methods
Diffstat (limited to 'DSACore/Models/Database')
-rw-r--r--DSACore/Models/Database/Advantage.cs19
-rw-r--r--DSACore/Models/Database/Char.cs27
-rw-r--r--DSACore/Models/Database/CharSpell.cs10
-rw-r--r--DSACore/Models/Database/DatabaseChar.cs47
-rw-r--r--DSACore/Models/Database/Field.cs10
-rw-r--r--DSACore/Models/Database/GeneralSpell.cs2
-rw-r--r--DSACore/Models/Database/Group.cs9
-rw-r--r--DSACore/Models/Database/GroupChar.cs14
-rw-r--r--DSACore/Models/Database/Inventory.cs8
-rw-r--r--DSACore/Models/Database/Roll.cs2
-rw-r--r--DSACore/Models/Database/Talent.cs4
-rw-r--r--DSACore/Models/Database/Weapon.cs8
-rw-r--r--DSACore/Models/Database/WeaponTalent.cs19
13 files changed, 120 insertions, 59 deletions
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<Field> Skills { get; set; } = new List<Field>();
-
- private List<Field> Talents { get; set; } = new List<Field>();
-
- private List<Field> Advantages { get; set; } = new List<Field>();
-
- private List<CharSpell> Spells { get; set; } = new List<CharSpell>();
-
- private List<WeaponTalent> WeaponTalents { get; set; } = new List<WeaponTalent>();
-
- }
-}
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<Field> Skills { get; set; } = new List<Field>();
+
+ public List<Field> Talents { get; set; } = new List<Field>();
+
+ public List<Advantage> Advantages { get; set; } = new List<Advantage>();
+
+ public List<CharSpell> Spells { get; set; } = new List<CharSpell>();
+
+ public List<WeaponTalent> WeaponTalents { get; set; } = new List<WeaponTalent>();
+
+
+ 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<GroupChar> Chars { get; set; }= new List<GroupChar>();
+ public string Name { get; set; }
+ public string Discord { get; set; }
+ public string Password { get; set; }
+ public int Id { get; set; }
+ public List<GroupChar> Chars { get; set; }= new List<GroupChar>();
}
}
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<string> Items { get; set; } = new List<string>();
- private List<string> Food { get; set; } = new List<string>();
- private List<Weapon> Weapons { get; set; } = new List<Weapon>();
+ public int Id { get; set; }
+ public Dictionary<string, bool> Items { get; set; } = new Dictionary<string, bool>();
+ public Dictionary<string, bool> Food { get; set; } = new Dictionary<string, bool>();
+ public List<Weapon> Weapons { get; set; } = new List<Weapon>();
}
}
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