public void SetExp(double exp, ExpAction type = ExpAction.Set) { switch (type) { case ExpAction.Set: Exp = exp; break; case ExpAction.Up: Exp += exp; break; } CalculateLevel(); ApplyLevel(); }
float GetActionExpAmount(ExpAction act) { float res = 1; switch (act) { case ExpAction.Reload: res = 10; break; case ExpAction.FreeLevelUp: res = expNextLevel - expThisLevel ; break; case ExpAction.Kill: res = expBase; break; default: res = 0; //Debug.LogError("Unrecognized act"); break; } return res; }
public void CommitAction(ExpAction act) { expCurrent += GetActionExpAmount(act); if (CheckForLevelUp()) LevelUpReport(); }