protected override void OnAddRow()
        {
            int count = Count - 1;

            Elements[count].Add(CBInputs.CreateInput(Count, 1, 0));
            Elements[count].Add(Button("Edit", EditAI, "#CCCCCC", Count, Count, 2));
            ToolAI toolAi = new ToolAI();

            toolAi.Priority             = 10;
            toolAi.Quantity             = 0;
            toolAi.HPLow                = 0;
            toolAi.HPHigh               = 100;
            toolAi.SPLow                = 0;
            toolAi.SPHigh               = 100;
            toolAi.ActiveState1         = 0;
            toolAi.ActiveState2         = 0;
            toolAi.InactiveState1       = 0;
            toolAi.InactiveState2       = 0;
            toolAi.AllyCondition        = 0;
            toolAi.FoeCondition         = 0;
            toolAi.UserCondition        = 2;
            toolAi.TargetElementRate    = "0_0_3";
            toolAi.TargetStateRates     = "0_0_3_0_0_3";
            toolAi.TargetStatConditions = "0_0_0_0_0_0";
            toolAi.TargetToolElement    = 0;
            ToolAIs.Add(toolAi);
        }
        public ToolAI GetInformation()
        {
            ToolAI toolAi = new ToolAI();

            toolAi.Priority          = int.Parse(PriorityInput.Text);
            toolAi.Quantity          = int.Parse(QuantityInput.Text);
            toolAi.HPLow             = int.Parse(HPLowInput.Text);
            toolAi.HPHigh            = int.Parse(HPHighInput.Text);
            toolAi.SPLow             = int.Parse(SPLowInput.Text);
            toolAi.SPHigh            = int.Parse(SPHighInput.Text);
            toolAi.ActiveState1      = ActiveState1Input.SelectedIndex;
            toolAi.ActiveState2      = ActiveState2Input.SelectedIndex;
            toolAi.InactiveState1    = InactiveState1Input.SelectedIndex;
            toolAi.InactiveState2    = InactiveState2Input.SelectedIndex;
            toolAi.AllyCondition     = AllyConditionInput.SelectedIndex;
            toolAi.FoeCondition      = FoeConditionInput.SelectedIndex;
            toolAi.UserCondition     = UserConditionInput.SelectedIndex;
            toolAi.TargetElementRate = ElementRateInput.SelectedIndex + "_" + Gate1Input.SelectedIndex + "_" + Value1Input.SelectedIndex;
            string state1 = State1Input.SelectedIndex + "_" + Gate2Input.SelectedIndex + "_" + Value2Input.SelectedIndex;
            string state2 = State2Input.SelectedIndex + "_" + Gate3Input.SelectedIndex + "_" + Value3Input.SelectedIndex;
            string stat1  = Stat1Input.SelectedIndex + "_" + Gate4Input.SelectedIndex + "_" + Value4Input.SelectedIndex;
            string stat2  = Stat2Input.SelectedIndex + "_" + Gate5Input.SelectedIndex + "_" + Value5Input.SelectedIndex;

            toolAi.TargetStateRates     = state1 + "_" + state2;
            toolAi.TargetStatConditions = stat1 + "_" + stat2;
            toolAi.TargetToolElement    = ToolElementInput.SelectedIndex;
            return(toolAi);
        }
        protected override void OnRead(SQLiteDataReader reader)
        {
            int landingIndex = CBInputs.FindIndex(reader["ToolID"]);

            Elements[Count - 1].Add(CBInputs.CreateInput(Count, 1, landingIndex));
            Elements[Count - 1].Add(Button("Edit", EditAI, "#CCCCCC", Count, Count, 2));
            ToolAI toolAi = new ToolAI();

            toolAi.Priority             = int.Parse(reader["Priority"].ToString());
            toolAi.Quantity             = int.Parse(reader["Quantity"].ToString());
            toolAi.HPLow                = int.Parse(reader["HPLow"].ToString());
            toolAi.HPHigh               = int.Parse(reader["HPHigh"].ToString());
            toolAi.SPLow                = int.Parse(reader["SPLow"].ToString());
            toolAi.SPHigh               = int.Parse(reader["SPHigh"].ToString());
            toolAi.ActiveState1         = int.Parse(reader["ActiveState1"].ToString());
            toolAi.ActiveState2         = int.Parse(reader["ActiveState2"].ToString());
            toolAi.InactiveState1       = int.Parse(reader["InactiveState1"].ToString());
            toolAi.InactiveState2       = int.Parse(reader["InactiveState2"].ToString());
            toolAi.AllyCondition        = int.Parse(reader["AllyCondition"].ToString());
            toolAi.FoeCondition         = int.Parse(reader["FoeCondition"].ToString());
            toolAi.UserCondition        = int.Parse(reader["UserCondition"].ToString());
            toolAi.TargetElementRate    = reader["TargetElementRate"].ToString();
            toolAi.TargetStateRates     = reader["TargetStateRates"].ToString();
            toolAi.TargetStatConditions = reader["TargetStatConditions"].ToString();
            toolAi.TargetToolElement    = int.Parse(reader["TargetToolElement"].ToString());
            ToolAIs.Add(toolAi);
        }
 public void SetInformation(ToolAI selectedBETool)
 {
     PriorityInput.Text = selectedBETool.Priority.ToString();
     QuantityInput.Text = selectedBETool.Quantity.ToString();
     HPLowInput.Text    = selectedBETool.HPLow.ToString();
     HPHighInput.Text   = selectedBETool.HPHigh.ToString();
     SPLowInput.Text    = selectedBETool.SPLow.ToString();
     SPHighInput.Text   = selectedBETool.SPHigh.ToString();
     ActiveState1Input.SelectedIndex   = StateData.FindIndex(selectedBETool.ActiveState1);
     ActiveState2Input.SelectedIndex   = StateData.FindIndex(selectedBETool.ActiveState2);
     InactiveState1Input.SelectedIndex = StateData.FindIndex(selectedBETool.InactiveState1);
     InactiveState2Input.SelectedIndex = StateData.FindIndex(selectedBETool.InactiveState2);
     AllyConditionInput.SelectedIndex  = selectedBETool.AllyCondition;
     FoeConditionInput.SelectedIndex   = selectedBETool.FoeCondition;
     UserConditionInput.SelectedIndex  = selectedBETool.UserCondition;
     if (selectedBETool.TargetElementRate == null)
     {
         return;
     }
     string[] elementRate    = selectedBETool.TargetElementRate.Split('_');
     string[] stateRates     = selectedBETool.TargetStateRates.Split('_');
     string[] statConditions = selectedBETool.TargetStatConditions.Split('_');
     ElementRateInput.SelectedIndex = ElementData.FindIndex(int.Parse(elementRate[0]));
     Gate1Input.SelectedIndex       = int.Parse(elementRate[1]);
     Value1Input.SelectedIndex      = int.Parse(elementRate[2]);
     State1Input.SelectedIndex      = StateData.FindIndex(int.Parse(stateRates[0]));
     Gate2Input.SelectedIndex       = int.Parse(stateRates[1]);
     Value2Input.SelectedIndex      = int.Parse(stateRates[2]);
     State2Input.SelectedIndex      = StateData.FindIndex(int.Parse(stateRates[3]));
     Gate3Input.SelectedIndex       = int.Parse(stateRates[4]);
     Value3Input.SelectedIndex      = int.Parse(stateRates[5]);
     Stat1Input.SelectedIndex       = int.Parse(statConditions[0]);
     Gate4Input.SelectedIndex       = int.Parse(statConditions[1]);
     Value4Input.SelectedIndex      = int.Parse(statConditions[2]);
     Stat2Input.SelectedIndex       = int.Parse(statConditions[3]);
     Gate5Input.SelectedIndex       = int.Parse(statConditions[4]);
     Value5Input.SelectedIndex      = int.Parse(statConditions[5]);
     ToolElementInput.SelectedIndex = ElementData.FindIndex(selectedBETool.TargetToolElement);
 }