public static void OnChangeCurExp(CCreature obj, int newV, int oldV) { // 逻辑层 // 到达满级时,不再执行 if (newV == oldV && newV != 0) { return; } // 通过当前总经验值获取等级。 PlayerExpCsv playerCsv = CsvManager.Inst.GetCsv <PlayerExpCsv>((int)eAllCSV.eAC_PlayerExp); int lv = playerCsv.GetLevelByExp(newV); if (lv >= playerCsv.m_maxLv.Level) // 已满级 { int maxExp = playerCsv.GetMaxExpByLv(lv); obj.SetPropNum(eCreatureProp.CurExp, maxExp); obj.SetPropNum(eCreatureProp.Exp, maxExp); } else { int maxExp = playerCsv.GetMaxExpByLv(lv + 1); // 下一级所需经验 obj.SetPropNum(eCreatureProp.Exp, maxExp); } obj.SetPropNum(eCreatureProp.Lv, lv); // 表现层 obj.UpdateUI_Exp(); }
public bool bMaxLv() { PlayerExpCsv playerCsv = CsvManager.Inst.GetCsv <PlayerExpCsv>((int)eAllCSV.eAC_PlayerExp); int lv = GetPropNum(eCreatureProp.Lv); if (lv >= playerCsv.m_maxLv.Level) { return(true); } return(false); }