From 496c9c32cb8d0d067e675855289904a22b05d9ac Mon Sep 17 00:00:00 2001 From: TrueDoctor Date: Mon, 9 Jul 2018 23:38:43 +0200 Subject: Implemented critter class and fixed some gui errors --- ZooBOTanica/CritCreate.cs | 83 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 82 insertions(+), 1 deletion(-) (limited to 'ZooBOTanica/CritCreate.cs') diff --git a/ZooBOTanica/CritCreate.cs b/ZooBOTanica/CritCreate.cs index 7285a78..f570c9e 100644 --- a/ZooBOTanica/CritCreate.cs +++ b/ZooBOTanica/CritCreate.cs @@ -10,13 +10,94 @@ using System.Windows.Forms; namespace ZooBOTanica { + using DSALib; + using DSALib.Characters; + public partial class CritCreateForm : Form { + private DSALib.Characters.Critter critter; + public CritCreateForm() { - InitializeComponent(); + this.InitializeComponent(); + this.AllowDrop = true; + } + + private void Load(string path) + { + this.critter = Critter.Load(path); + this.AeEdit.Value = this.critter.Astralpunkte_Basis; + this.AuEdit.Value = this.critter.Ausdauer_Basis; + this.GWEdit.Value = this.critter.Gw; + this.GsEdit.Value = this.critter.Gs; + this.KoEdit.Value = this.critter.Ko; + this.LeEdit.Value = this.critter.Lebenspunkte_Basis; + this.MREdit.Value = this.critter.Mr; + this.NameEdit.Text = this.critter.Name; + //this.PAEdit.Value = this.critter.Pa; + this.RSEdit.Value = this.critter.Rs; + this.INIEdit.Text = this.critter.Ini; + this.MeisterkommentarEdit.Text = this.critter.Comment; + + this.AttackList.Rows.Clear(); + + foreach (var critterAttack in this.critter.CritterAttacks) + { + this.AttackList.Rows.Add(critterAttack.Name, critterAttack.At, critterAttack.Tp, critterAttack.Comment); + } } + private void CritCreateForm_DragDrop(object sender, DragEventArgs e) + { + this.Load(e.Data.GetData(DataFormats.Text).ToString()); + } + + private void LoadButton_Click(object sender, EventArgs e) + { + var dig = new OpenFileDialog(); + dig.CheckFileExists = true; + dig.Multiselect = false; + dig.Title = "Gespeicherten Gegner laden"; + dig.Filter = "*Json Dateien (*.json)|*.json"; + + if (dig.ShowDialog() == DialogResult.OK) + { + this.Load(dig.FileName); + } + } + + private void SaveButton_Click(object sender, EventArgs e) + { + this.critter = new Critter(); + this.critter.Astralpunkte_Basis = (int)this.AeEdit.Value; + this.critter.Ausdauer_Basis = (int)this.AuEdit.Value; + this.critter.Gw = (int)this.GWEdit.Value; + this.critter.Gs = (int)this.GsEdit.Value; + this.critter.Ko = (int)this.KoEdit.Value; + this.critter.Lebenspunkte_Basis = (int)this.LeEdit.Value; + this.critter.Mr = (int)this.MREdit.Value; + this.critter.Name = this.NameEdit.Text; + //this.critter.Pa = (int)this.PAEdit.Value; + this.critter.Rs = (int)this.RSEdit.Value; + this.critter.Ini = this.INIEdit.Text; + this.critter.Comment = this.MeisterkommentarEdit.Text; + + this.critter.CritterAttacks = new List(); + + for (var index = 0; index < this.AttackList.Rows.Count -1; index++) + { + DataGridViewRow Row = this.AttackList.Rows[index]; + this.critter.CritterAttacks.Add( + new CritterAttack( + (Row.Cells[0].Value ?? "").ToString(), + Convert.ToInt32(Row.Cells[1].Value ?? 0), + (Row.Cells[2].Value ?? "").ToString(), + (Row.Cells[3].Value ?? "").ToString())); + } + + this.critter.Save(); + } } } + -- cgit v1.2.3-54-g00ecf