private void LevelChange(int nValue, bool bKill) { int MAX_LEVEL = 100; if (nValue < 0 || nValue > MAX_LEVEL) { return; } if (m_nLevel == nValue) { return; } tagTeamLevelEffect pEffect = CProtoManager.inst.GetTeamEffectLevel(m_nLevel); if (pEffect != null) { SetTeamMaxPhysical(pEffect.nPhysique); } int nMaxPhysical = m_nMaxPhysical; SetTeamMaxPhysical(nMaxPhysical); OnChangeEvent(); }
public int ChangeTeamExp(int nVal) { if (nVal < 0) { m_nCurExp += nVal; } if (nVal > 0) { tagTeamLevelEffect pEffect = CProtoManager.inst.GetTeamEffectLevel(m_nLevel); int nLevelUpExpRemain = pEffect.nExpLevelUp - m_nCurExp; if (nLevelUpExpRemain > nVal) { m_nCurExp += nVal; } else { int MAX_LEVEL = 100; m_nCurExp += nLevelUpExpRemain; if (m_nLevel == MAX_LEVEL) { return(0); } nVal -= nLevelUpExpRemain; int nNextLevel = m_nLevel + 1; for ( ; nNextLevel <= MAX_LEVEL; nNextLevel++) { pEffect = CProtoManager.inst.GetTeamEffectLevel(nNextLevel); if (pEffect.nExpLevelUp <= nVal) { nVal -= pEffect.nExpLevelUp; } else { break; } } if (nNextLevel > MAX_LEVEL) { nNextLevel = MAX_LEVEL; nVal = pEffect.nExpLevelUp; } LevelChange(nNextLevel, false); m_nCurExp = nVal; } } OnChangeEvent(); return(m_nCurExp); }
private void LoadTeamLevelExp( ) { CXmlContainer xml = new CXmlContainer(); List <string> list = new List <string> (); if (xml.LoadXML("data/team_uplevel", "id", list)) { for (int i = 0; i < list.Count; i++) { tagTeamLevelEffect item = new tagTeamLevelEffect(); item.nLevel = xml.GetInt("id", list[i], 0); item.nExpLevelUp = xml.GetInt("ExpLevelUp", list[i], 0); item.nPhysique = xml.GetInt("Physique", list[i], 0); m_mapTeamUpExp.Add(item); } } }