Exemple #1
0
 /// <summary>
 /// 返回秘术的加成值
 /// </summary>
 /// <returns></returns>
 public int GetMysticAddValue()
 {
     for (int i = 0; i < m_CurMsDataT.getLevel().Length; i++)
     {
         if (m_CurMsDataT.getLevel()[i] == m_MysticLevel)
         {
             return(m_CurMsDataT.getValue()[i]);
         }
     }
     return(-1);
 }
        /// <summary>
        /// 进入战场后初始化怒气
        /// </summary>
        private void InitFightPower()
        {
            int nSelf_value = ObjectSelf.GetInstance().GetInitPowerValue();

            int nHero_value = 0;

            for (int i = 0; i < SceneObjectManager.GetInstance().GetObjectHeroCount(); i++)
            {
                ObjectHero pHero               = SceneObjectManager.GetInstance().GetHeroObject(i);
                int        nCurLevel           = pHero.GetHeroData().Level;
                int        nInitFuryTemplateID = pHero.GetHeroRow().getEntranceFury() - 1;

//                 HerofuryTemplate pRow = (HerofuryTemplate)DataTemplate.GetInstance().m_HeroFuryTable.getTableData(nCurLevel);
//                 if (nInitFuryTemplateID >= 0 && nInitFuryTemplateID < GlobalMembers.MAX_HEROFURY_PARAM_COUNT)
//                 {
//                     nHero_value += (int)((float)pRow.getTemplate()[nInitFuryTemplateID] * (1f + pHero.GetInitPowerAddition() + pHero.GetInitPowerAdditionRate()));
//                 }
                for (int n = 0; n < pHero.GetHeroData().HeroCabalaDB.CabalaList.Count; ++n)
                {
                    int        _tableID = pHero.GetHeroData().HeroCabalaDB.CabalaList[n].TableID;
                    MsTemplate _row     = (MsTemplate)DataTemplate.GetInstance().m_MsTable.getTableData(_tableID);
                    if (_row.getMstype() == 1)//开场怒气额外增加
                    {
                        int nLev = pHero.GetHeroData().HeroCabalaDB.CabalaList[n].IntensifyLev;
                        if (nLev <= 0)
                        {
                            continue;
                        }
                        nHero_value += _row.getValue()[nLev - 1];
                    }
                }
                //释放一次英雄的被动技能。此逻辑只需执行一次,且需要所有英雄都已实例化完成并添加到场景对象管理器中 [7/31/2015 Zmy]
                pHero.UpdateSpellEffectValue();
            }
            //主角等级影响 + 英雄等级影响 * (1 + 初始加成怒气) [3/3/2015 Zmy]
            //int nSum = nSelf_value + nHero_value;
            m_HeroPower.OnUpdatePowerValue(nHero_value);
        }
Exemple #3
0
    private void HandleExp()
    {
        if (m_LevelIndex + 1 + m_CostNum > m_CurMysticTData.getConsumexpevalue().Length - 1)
        {
            m_ExpSlider.maxValue = 1;
            m_ExpSlider.value    = 1;
            m_SliderTopText.text = "";
            m_MaxLevelInfoText.gameObject.SetActive(true);
            ObjectSelf.GetInstance().GetIsMysticMaxLevel = true;
            return;
        }
        LevelMaxExp          = m_CurMysticTData.getConsumexpevalue()[m_LevelIndex + 1 + m_CostNum];
        m_ExpSlider.maxValue = LevelMaxExp;
        int _Surplus = LevelMaxExp - m_FashCurExpValue;

        if (m_CostTotalExp - _Surplus >= 0)
        {
            m_CostNum++;
            m_LvAddText.text  = "+" + m_CostNum.ToString();
            m_CostTotalMoney += m_CurMysticTData.getConsumnb()[m_LevelIndex + m_CostNum] / m_CurMysticTData.getConsumexpevalue()[m_LevelIndex + m_CostNum] * _Surplus;

            if (m_LevelIndex < 0)
            {
                m_InfoAddText.text = "+" + (m_CurMysticTData.getValue()[m_LevelIndex + m_CostNum]).ToString();
            }
            else
            {
                m_InfoAddText.text = "+" + (m_CurMysticTData.getValue()[m_LevelIndex + m_CostNum] - m_CurMysticTData.getValue()[m_LevelIndex]).ToString();
            }

            if (m_LevelIndex + 1 + m_CostNum > m_CurMysticTData.getConsumexpevalue().Length - 1)
            {
                m_ExpSlider.maxValue = m_CurMysticTData.getConsumexpevalue()[m_CurMysticTData.getConsumexpevalue().Length - 1];
                m_ExpSlider.value    = m_CurMysticTData.getConsumexpevalue()[m_CurMysticTData.getConsumexpevalue().Length - 1];
                m_SliderTopText.text = (LevelMaxExp + " / " + LevelMaxExp).ToString();
            }
            else
            {
                m_ExpSlider.value    = m_CostTotalExp - _Surplus;
                m_ExpSlider.maxValue = m_CurMysticTData.getConsumexpevalue()[m_LevelIndex + 1 + m_CostNum];
                m_SliderTopText.text = (m_CostTotalExp - _Surplus + " / " + LevelMaxExp).ToString();
            }

            m_FashCurExpValue = m_CostTotalExp - _Surplus;
            m_CostTotalExp    = 0;

            HandleExp();
        }
        else
        {
            m_FashCurExpValue = m_FashCurExpValue + m_CostTotalExp;
            if (m_FashCurExpValue != 0)
            {
                m_CostTotalMoney += m_CurMysticTData.getConsumnb()[m_LevelIndex + 1 + m_CostNum] / m_CurMysticTData.getConsumexpevalue()[m_LevelIndex + 1 + m_CostNum] * m_CostTotalExp;
                m_ExpSlider.value = m_FashCurExpValue;
            }
            m_SliderTopText.text = (m_FashCurExpValue + " / " + LevelMaxExp).ToString();
        }

        m_CostText.text = m_CostTotalMoney.ToString();
    }