public new void Update(SQLiteConnection conn)
 {
     base.Update(conn);
     EnemySkills.Update(conn);
     EnemyWeapons.Update(conn);
     EnemyItems.Update(conn);
 }
 protected override void OnRead(SQLiteDataReader reader)
 {
     EnemyInput.SelectedIndex         = EnemyData.FindIndex(reader["EnemyID"]);
     LevelInput.Text                  = reader["Level"].ToString();
     GridPositionZInput.SelectedIndex = int.Parse(reader["GridPositionZ"].ToString());
     GridPositionXInput.SelectedIndex = int.Parse(reader["GridPositionX"].ToString());
     HPMultiplierInput.Text           = reader["HPMultiplier"].ToString();
     EnemySkills.Read();
     EnemyWeapons.Read();
     EnemyItems.Read();
     PassiveSkill1Input.SelectedIndex = PassiveSkillData.FindIndex(reader["PassiveSkill1"]);
     PassiveSkill2Input.SelectedIndex = PassiveSkillData.FindIndex(reader["PassiveSkill2"]);
 }
 protected override void SetupTableData()
 {
     EnemyData = new ComboBoxInputData("Enemy_ID", "Name", "BaseObject JOIN Enemy", "BaseObjectID = BaseObject_ID", "Name");
     EnemyInput.SelectionChanged   += new SelectionChangedEventHandler(CBChangedEnemy);
     EnemyInput.ItemsSource         = EnemyData.OptionsListNames;
     GridPositionZInput.ItemsSource = GridPositionZOptions;
     GridPositionXInput.ItemsSource = GridPositionXOptions;
     EnemySkills.Setup(ClassTemplateId, "Skill", "Skills", new List <string> {
         "Name", ""
     });
     EnemyWeapons.Setup(ClassTemplateId, "Weapon", "Weapons", new List <string> {
         "Name", ""
     });
     EnemyItems.Setup(ClassTemplateId, "Item", "Items", new List <string> {
         "Name", ""
     });
     PassiveSkillData = new ComboBoxInputData("PassiveSkill_ID", "Name", "BaseObject JOIN PassiveSkill", "BaseObjectID = BaseObject_ID", "Name", ComboBoxInputData.ADD_NULL_INPUT);
     PassiveSkill1Input.ItemsSource = PassiveSkillData.OptionsListNames;
     PassiveSkill2Input.ItemsSource = PassiveSkillData.OptionsListNames;
 }
        public override string ValidateInputs()
        {
            string err = "";

            if (!Utils.PosInt(LevelInput.Text, 100) || int.Parse(LevelInput.Text) == 0)
            {
                err += "Level must be an integer between 1 and 100\n";
            }
            if (!Utils.NumberBetween(HPMultiplierInput.Text, 0.1, 100))
            {
                err += "HP x must be a number between 0.1 and 100\n";
            }
            err += EnemySkills.ValidateInputs();
            err += EnemyWeapons.ValidateInputs();
            err += EnemyItems.ValidateInputs();
            if (PassiveSkill1Input.SelectedIndex == PassiveSkill2Input.SelectedIndex && PassiveSkill1Input.SelectedIndex > 0)
            {
                err += "Passive Skills must be unique\n";
            }
            return(err);
        }
 protected override void OnClone(SQLiteConnection conn)
 {
     EnemySkills.Clone(conn, ClassTemplateId);
     EnemyWeapons.Clone(conn, ClassTemplateId);
     EnemyItems.Clone(conn, ClassTemplateId);
 }
 protected override void OnDelete(SQLiteConnection conn)
 {
     EnemySkills.Delete(conn);
     EnemyWeapons.Delete(conn);
     EnemyItems.Delete(conn);
 }