예제 #1
0
    private void SetSpriteState(SingleSkillInfo selectedSkillInfo)
    {
        //int consumeMoneyValue = SkillValue.GetSkillValue(selectedSkillInfo.SkillLevel, selectedSkillInfo.localSkillData.m_upgradeMoneyParams);
        int consumeMoneyValue  = selectedSkillInfo.localSkillData.m_upgradeMoneyParams.Length >= selectedSkillInfo.SkillLevel?selectedSkillInfo.localSkillData.m_upgradeMoneyParams[selectedSkillInfo.SkillLevel - 1]:0;
        int skillHurtValue     = SkillValue.GetSkillValue(selectedSkillInfo.SkillLevel, selectedSkillInfo.localSkillData.m_mightParams);
        int nextSkillHurtValue = SkillValue.GetSkillValue(selectedSkillInfo.SkillLevel + 1, selectedSkillInfo.localSkillData.m_mightParams);
        //int needLv = selectedSkillInfo.SkillLevel + 1;
        int needLv = selectedSkillInfo.localSkillData.m_unlockLevel + selectedSkillInfo.SkillLevel * selectedSkillInfo.localSkillData.m_UpdateInterval;

        if (consumeMoneyValue > 0)
        {
            if (PlayerManager.Instance.FindHeroDataModel().PlayerValues.PLAYER_FIELD_HOLDMONEY < consumeMoneyValue)
            {
                ConsumeLabel.color = Color.red;
            }
            else
            {
                ConsumeLabel.color = Color.white;
            }
        }

        if (needLv > 0)
        {
            if (PlayerManager.Instance.FindHeroDataModel().UnitValues.sMsgPropCreateEntity_SC_UnitVisibleValue.UNIT_FIELD_LEVEL < needLv)
            {
                NeedLabel.color        = Color.red;
                ArrowSprite.enabled    = false;
                MightLeftLabel.enabled = false;
                MightRightLabel.color  = Color.white;
                MightRightLabel.text   = skillHurtValue.ToString();
            }
            else
            {
                NeedLabel.color        = Color.white;
                MightLeftLabel.enabled = true;
                ArrowSprite.enabled    = true;
                MightRightLabel.color  = Color.green;
                MightRightLabel.text   = nextSkillHurtValue.ToString();
            }
        }


        NeedLabel.text      = needLv.ToString();
        MightLeftLabel.text = skillHurtValue.ToString();
        ConsumeLabel.text   = consumeMoneyValue.ToString();
    }
예제 #2
0
    public void InitViewInfo(SingleSkillInfo itemFielInfo)
    {
        m_itemFielInfo = itemFielInfo;
        bool   isNull      = itemFielInfo == null;
        string skillName   = isNull?"":LanguageTextManager.GetString(itemFielInfo.localSkillData.m_name);
        string breakLev    = isNull?"":ConvertBreakLev(itemFielInfo.localSkillData.m_breakLevel);
        string skillLev    = isNull?"":itemFielInfo.SkillLevel.ToString();
        string skillDesc   = isNull?"":LanguageTextManager.GetString(itemFielInfo.localSkillData.m_descSimple);
        string skillPower  = isNull?"":SkillValue.GetSkillValue(itemFielInfo.SkillLevel, itemFielInfo.localSkillData.m_mightParams).ToString();
        string skillHitNum = isNull?"":itemFielInfo.localSkillData.m_skillAttacktimes.ToString();
        string skillCDTime = isNull?"":itemFielInfo.localSkillData.m_coolDown.ToString();

        //float[] skillHurts=itemFielInfo.localSkillData.m_skillDamage;
        if (!isNull)
        {
            //向下取整((向下取整((参数1×(技能等级)^2+参数2×技能等级+参数3)/参数4)×参数4) /1000)*100%
            //int skillHurt = Mathf.FloorToInt((Mathf.FloorToInt((skillHurts[0] * Mathf.Pow(itemFielInfo.SkillLevel, 2) + skillHurts[1] * itemFielInfo.SkillLevel + skillHurts[2]) / skillHurts[3]) * skillHurts[3]) / 1000) * 100;
            //2014-8-27策划修改
            //向下取整((向下取整((参数1×(技能等级)^2+参数2×技能等级+参数3)/参数4)×参数4) /10)
//            int skillHurt = Mathf.FloorToInt((Mathf.FloorToInt((skillHurts[0] * Mathf.Pow(itemFielInfo.SkillLevel, 2) + skillHurts[1] * itemFielInfo.SkillLevel + skillHurts[2]) / skillHurts[3]) * skillHurts[3]) / 10);
//            SkillHurt.text=skillHurt.ToString();
        }
        else
        {
            SkillHurt.text = string.Empty;
        }
        SkillName.text   = skillName;
        BreakLev.text    = breakLev;
        SkillLev.text    = skillLev;
        SkillDesc.text   = skillDesc;
        SkillPower.text  = skillPower;
        SkillHitNum.text = skillHitNum;
        SkillCDTime.text = skillCDTime;


        SkillUpgradeBtn.gameObject.SetActive(!isNull);
        EffPoint.transform.ClearChild();
        //是否满级处理
        if (itemFielInfo.IsFullLev())
        {
            SkillUpgradeBtn.gameObject.SetActive(false);
            NotReachUpLev.gameObject.SetActive(false);
            NGUITools.AddChild(EffPoint, FullLevEff);

            UpgradeConsume.text = "0";
        }
        else
        {
            int upNeedLev;
            int skillManaValue = itemFielInfo.UpgradeConsume(out m_enough, out m_reachUpLev, out upNeedLev);
            SkillUpgradeBtn.gameObject.SetActive(true);

            //铜币是否足够
            if (m_enough)
            {
                SkillUpgradeBtn.Enable = true;
                UpgradeConsume.text    = "[fffa6f]" + skillManaValue.ToString() + "[-]";
                if (m_reachUpLev)
                {
                    NGUITools.AddChild(EffPoint, UpgradeBtnEff);
                }
            }
            else
            {
                //SkillUpgradeBtn.Enable=false;
                UpgradeConsume.text = "[fe768b]" + skillManaValue.ToString() + "[-]";
            }
            NotReachUpLev.text = m_reachUpLev?"":string.Format(LanguageTextManager.GetString("IDS_I7_14"), upNeedLev);
            NotReachUpLev.gameObject.SetActive(!m_reachUpLev);
            SkillUpgradeBtn.gameObject.SetActive(m_reachUpLev);
        }
        //选中特效
    }