Beispiel #1
0
 private void checkBox_CheckedChanged(object sender, EventArgs e)
 {
     m_listCombination.Clear();
     foreach (Control ctl in this.Controls)
     {
         if (ctl is GroupBox)
         {
             foreach (Control ctli in ((GroupBox)ctl).Controls)
             {
                 if (ctli is CheckBox)
                 {
                     if (((CheckBox)ctli).Checked)
                     {
                         string name            = ((CheckBox)ctli).Text;
                         string count           = name.Substring(0, 1);
                         string type            = name.Substring(1, name.Length - 1);
                         SelectedCombination sc = new SelectedCombination();
                         sc.ct     = (CombinationType)System.Enum.Parse(typeof(CombinationType), type);
                         sc.nCount = Convert.ToInt32(count);
                         m_listCombination.Add(sc);
                         break;
                     }
                 }
             }
         }
     }
     RefreshSelectedCombination();
 }
Beispiel #2
0
 private void GenerateEffect()
 {
     m_listCombination.Clear();
     richTextBox1.Clear();
     if (m_listSelectedHeros.Count > 0)
     {
         //获取所有不同的特质
         for (int i = 0; i < m_listSelectedHeros.Count; i++)
         {
             for (int k = 0; k < 24; k++)
             {
                 if (((int)m_listSelectedHeros[i].ct & (int)Math.Pow(2, k)) == (int)Math.Pow(2, k))
                 {
                     SelectedCombination sc = new SelectedCombination();
                     sc.ct = (CombinationType)((int)Math.Pow(2, k));
                     bool isExist = false;
                     for (int j = 0; j < m_listCombination.Count; j++)
                     {
                         if ((m_listCombination[j].ct & sc.ct) == sc.ct)
                         {
                             isExist = true;
                             break;
                         }
                     }
                     if (!isExist)
                     {
                         m_listCombination.Add(sc);
                     }
                 }
             }
         }
         for (int i = 0; i < m_listCombination.Count; i++)
         {
             for (int j = 0; j < m_listSelectedHeros.Count; j++)
             {
                 if ((m_listCombination[i].ct & m_listSelectedHeros[j].ct) == m_listCombination[i].ct)
                 {
                     m_listCombination[i].nCount++;
                 }
             }
         }
         richTextBox1.AppendText("目前拥有特质:\r\n");
         for (int i = 0; i < m_listCombination.Count; i++)
         {
             if (i == m_listCombination.Count - 1)
             {
                 richTextBox1.AppendText(m_listCombination[i].nCount.ToString() + m_listCombination[i].ct.ToString() + "\r\n");
             }
             else
             {
                 richTextBox1.AppendText(m_listCombination[i].nCount.ToString() + m_listCombination[i].ct.ToString() + "、");
             }
         }
         richTextBox1.AppendText("产生羁绊:\r\n");
         for (int i = 0; i < m_listCombination.Count; i++)
         {
             if (TriggerEffect.effect.ContainsKey(m_listCombination[i].nCount.ToString() + m_listCombination[i].ct.ToString()))
             {
                 richTextBox1.AppendText(TriggerEffect.effect[m_listCombination[i].nCount.ToString() + m_listCombination[i].ct.ToString()] + ".\r\n");
             }
         }
     }
 }