public void addCharacter(Character character, int _x = -1, int _y = -1) { if(Characters == null) { Characters = new List<Character>(); } if (_x == -1 && _y == -1) { if (Characters.Count > 0) { bool positionoccupied = false; Point position = null; while (true) { position = MapConfig.ElementAt(randomenerator.Next(MapConfig.Count)); foreach (Character Character in Characters) { if (Character.isOccupied(position)) { positionoccupied = true; } } if (!positionoccupied) { break; } } character.setPosition(position); character.setBattlefield(this); Characters.Add(character); } else { character.setPosition(MapConfig.ElementAt(randomenerator.Next(MapConfig.Count))); character.setBattlefield(this); Characters.Add(character); } } else { Point pos = new Point(_x, _y); character.setPosition(pos); character.setBattlefield(this); Characters.Add(character); } }
public static Character Clone(Character clonesource) { string jsonwrite = JsonConvert.SerializeObject(clonesource); Character clone = JsonConvert.DeserializeObject<Character>(jsonwrite); return clone; }
private void Character_Save(object sender, RoutedEventArgs e) { #region Character_Stats_Data string name = Character_Name.Text; if (name == "") { MessageBox.Show("You must enter a name for the weapon"); return; } int Health = 0; if (!Int32.TryParse(Character_HP.Text, out Health)) { MessageBox.Show("You must enter a value for Health"); return; } int Strength = 0; if (!Int32.TryParse(Character_STR.Text, out Strength)) { MessageBox.Show("You must enter a value for Strength"); return; } int Dexterity = 0; if (!Int32.TryParse(Character_Dex.Text, out Dexterity)) { MessageBox.Show("You must enter a value for Dexterity"); return; } int Constitution = 0; if (!Int32.TryParse(Character_Con.Text, out Constitution)) { MessageBox.Show("You must enter a value for Constitution"); return; } int Intelligence = 0; if (!Int32.TryParse(Character_Int.Text, out Intelligence)) { MessageBox.Show("You must enter a value for Intelligence"); return; } int Wisdom = 0; if (!Int32.TryParse(Character_Wis.Text, out Wisdom)) { MessageBox.Show("You must enter a value for Wisdom"); return; } int Charisma = 0; if (!Int32.TryParse(Character_Cha.Text, out Charisma)) { MessageBox.Show("You must enter a value for Charisma"); return; } int Will_Save = 0; if (!Int32.TryParse(Character_WillSave.Text, out Will_Save)) { MessageBox.Show("You must enter a value for Will Save"); return; } int Fortitude_Save = 0; if (!Int32.TryParse(Character_FortSave.Text, out Fortitude_Save)) { MessageBox.Show("You must enter a value for Fortitude Save"); return; } int Reflex_Save = 0; if (!Int32.TryParse(Character_ReflexSave.Text, out Reflex_Save)) { MessageBox.Show("You must enter a value for Reflex Save"); return; } int Death_Save = 0; if (!Int32.TryParse(Character_DeathSave.Text, out Death_Save)) { MessageBox.Show("You must enter a value for Death Save"); return; } int Movement_Range = 0; if (!Int32.TryParse(Character_MoveMentrate.Text, out Movement_Range)) { MessageBox.Show("You must enter a value for Movement Range"); return; } #endregion #region Character //TODO integrate choice if wanting to update character (Combobox) Character Character; if (Character_CharacterList.SelectedItem != null) { Character = (Character) Character_CharacterList.SelectedItem; } else { Character = new Character(); } Character.Name = name; Character.Health = Health; Character.Strength = Strength; Character.Dexterity = Dexterity; Character.Constitution = Constitution; Character.Intelligence = Intelligence; Character.Wisdom = Wisdom; Character.Charisma = Charisma; Character.Willsave = Will_Save; Character.Fortitudesave = Fortitude_Save; Character.Reflexsave = Reflex_Save; Character.Deathsave = Death_Save; Character.MovementRate = Movement_Range; Character.Weapons = tempWeaponList; Character.Armors = tempArmorList; string jsonstring = JsonConvert.SerializeObject(Character); WriteJsonStringToFile(jsonstring, "character", Character.Name); Characters.Add(Character); Character_CharacterList.Items.Refresh(); #endregion }