Ejemplo n.º 1
0
    /// <summary>
    /// 检测技能是否可升级(策划案提供)
    /// 1 金币不足,2等级达到上限,0是能够升级,3技能为空不能升级,4技能点不足 5技能升级空间不足
    /// </summary>
    public int CheckSkillCanUp()
    {
        if (m_soldierSkill == null)
        {
            NGUIUtil.DebugLog("m_soldierSkill == null ");
            return(3);
        }
        int teamMaxLevel  = SoldierM.GetSoldierMaxLevel();
        int skillMaxLevel = ConfigM.GetSkillMaxLevel(m_iSkillNo);

        if (m_soldierSkill.m_level == skillMaxLevel)   //技能等级达到上限
        {
            return(2);
        }

        int skillUpCoin = SoldierM.GetUpSkillLevelNeed(m_soldierSkill.m_level + 1, m_iSkillNo);
        int userCoin    = UserDC.GetCoin();

        if (skillUpCoin > userCoin)
        {
            return(1);
        }

        if (UserDC.GetLeftSkillPoints() < 1)
        {
            return(4);
        }

        int m = 0;
        int n = m_iSoldierLevel;              //当前炮弹兵等级
        int p = m_soldierSkill.m_level;       //技能等级

        int q = teamMaxLevel - skillMaxLevel; //战队等级上限 - 技能等级上限

        m = n - p - q;

        if (m >= 1)
        {
            return(0);
        }
        else
        {
            return(5);
        }
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 检测是否
    /// </summary>
    /// <param name="info"></param>
    /// <returns></returns>
    public bool CheckHaveSkillUp()
    {
        List <SoldierSkill> lSkill = m_Skill.GetUpdateSkills();
        int i = 0;

        foreach (SoldierSkill skill in lSkill)
        {
            int m_iSkillNo = i++;
            if (skill == null)
            {
                continue;
            }


            int skillUpCoin = SoldierM.GetUpSkillLevelNeed(skill.m_level + 1, m_iSkillNo);
            int userCoin    = UserDC.GetCoin();
            if (skillUpCoin > userCoin)
            {
                continue;
            }

            int teamMaxLevel  = SoldierM.GetSoldierMaxLevel();
            int skillMaxLevel = ConfigM.GetSkillMaxLevel(m_iSkillNo);
            int q             = teamMaxLevel - skillMaxLevel; //战队等级上限 - 技能等级上限
            int m             = skill.m_level - Level - q;

            if (Level == skillMaxLevel)            //技能等级未达到上限
            {
                continue;
            }

            if (m >= 1 && UserDC.GetLeftSkillPoints() >= 1)
            {
                return(true);
            }
        }
        return(false);
    }
Ejemplo n.º 3
0
    public void SetUI()
    {
        //skillType = 1003;//临时 缺少技能图标资源
        //m_soldierSkill.m_type = 1003;

        if (!m_soldierSkill.m_enable)
        {
            NGUIUtil.Set2DSpriteGraySV(MyHead.Spr2dSkill, "Textures/skill/", m_soldierSkill.m_type.ToString());
        }
        else
        {
            NGUIUtil.Set2DSprite(MyHead.Spr2dSkill, "Textures/skill/", m_soldierSkill.m_type.ToString());
        }
        MyHead.LblSkillName.text = m_soldierSkill.m_name;

        if (m_soldierSkill.m_level >= 0)
        {
            string str = string.Format("{0}{1}[-]{2}", "[FFF000]", NGUIUtil.GetStringByKey(60000005), m_soldierSkill.m_level);
            MyHead.LblLevel.text = str;
        }
        NGUIUtil.SetActive(MyHead.LblLevel.gameObject, m_soldierSkill.m_enable);
        NGUIUtil.SetActive(MyHead.BtnAddSkill.gameObject, m_soldierSkill.m_enable);
        NGUIUtil.SetActive(MyHead.LblCoin.gameObject.transform.parent.gameObject, m_soldierSkill.m_enable);

        if (!m_soldierSkill.m_enable)
        {
            NGUIUtil.SetActive(MyHead.LblDisableSkillDesc.gameObject, true);
            string text = string.Format(NGUIUtil.GetStringByKey(30000034), NGUIUtil.GetStringByKey(99600000 + m_soldierSkill.m_enableQuality));
            NGUIUtil.SetLableText(MyHead.LblDisableSkillDesc, text);
        }
        if (CheckSkillCanUp() == 2)
        {
            string text = NGUIUtil.GetStringByKey(30000059);
            NGUIUtil.SetLableText(MyHead.LblCoin, string.Format("{0}{1}", "[c5ff71]", text));
            UISprite sprGold = MyHead.LblCoin.GetComponentInParent <UISprite>();
            NGUIUtil.SetSprite(sprGold, "0");
            int coin = SoldierM.GetUpSkillLevelNeed(m_soldierSkill.m_level, m_iSkillNo);
            if (coin > 0)
            {
                string coinText = "";
                if (coin < UserDC.GetCoin())
                {
                    coinText = string.Format("{0}{1}", "[ECB408]", coin);
                }
                else
                {
                    coinText = string.Format("{0}{1}", "[FF0000]", coin);
                }
                MyHead.LblCoin.text = coinText;
            }
            return;
        }
        int coin2 = SoldierM.GetUpSkillLevelNeed(m_soldierSkill.m_level + 1, m_iSkillNo);

        if (coin2 > 0)
        {
            string coinText = "";
            if (coin2 < UserDC.GetCoin())
            {
                coinText = string.Format("{0}{1}", "[ECB408]", coin2);
            }
            else
            {
                coinText = string.Format("{0}{1}", "[FF0000]", coin2);
            }
            MyHead.LblCoin.text = coinText;
        }
    }