Exemplo 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);
        }
    }
Exemplo 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);
    }