/// <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); }
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(); }