Пример #1
0
        public void DrawLokaiSkill()
        {
            for (int i = 0; i < m_BuildItem.LokaiSkills.Count; i++)
            {
                BuildLokaiSkill lokaiSkill = m_BuildItem.LokaiSkills.GetAt(i);
                double          minLokaiSkill = lokaiSkill.MinLokaiSkill, maxLokaiSkill = lokaiSkill.MaxLokaiSkill;

                if (minLokaiSkill < 0)
                {
                    minLokaiSkill = 0;
                }

                AddHtmlLocalized(170, 132 + (i * 20), 200, 18, 1070722, lokaiSkill.LokaiSkillToMake.ToString(), LabelColor, false, false);
                AddLabel(430, 132 + (i * 20), LabelHue, String.Format("{0:F1}", minLokaiSkill));
            }

            BuildSubResCol res      = (m_BuildItem.UseSubRes2 ? m_BuildSystem.BuildSubRes2 : m_BuildSystem.BuildSubRes);
            int            resIndex = -1;

            BuildContext context = m_BuildSystem.GetContext(m_From);

            if (context != null)
            {
                resIndex = (m_BuildItem.UseSubRes2 ? context.LastResourceIndex2 : context.LastResourceIndex);
            }

            bool   allRequiredLokaiSkills = true;
            double chance      = m_BuildItem.GetSuccessChance(m_From, resIndex > -1 ? res.GetAt(resIndex).ItemType : null, m_BuildSystem, false, ref allRequiredLokaiSkills);
            double excepChance = m_BuildItem.GetExceptionalChance(m_BuildSystem, chance, m_From);

            if (chance < 0.0)
            {
                chance = 0.0;
            }
            else if (chance > 1.0)
            {
                chance = 1.0;
            }

            AddHtmlLocalized(170, 80, 250, 18, 1044057, LabelColor, false, false);               // Success Chance:
            AddLabel(430, 80, LabelHue, String.Format("{0:F1}%", chance * 100));

            if (m_ShowExceptionalChance)
            {
                if (excepChance < 0.0)
                {
                    excepChance = 0.0;
                }
                else if (excepChance > 1.0)
                {
                    excepChance = 1.0;
                }

                AddHtmlLocalized(170, 100, 250, 18, 1044058, 32767, false, false);                   // Exceptional Chance:
                AddLabel(430, 100, LabelHue, String.Format("{0:F1}%", excepChance * 100));
            }
        }