public static int DoWhileLevelUp(StatObject stat) { int gainedLevels = 0; do { if (stat.Level >= stat.MaxLevel) { break; } gainedLevels++; stat.Level++; stat.XP -= stat.XPToNextLevel; if (stat.XP < 0) { stat.XP = 0; } stat.XPToNextLevel = XP_Handler.CalcXPToNextLevel(stat.XPToNextLevel, stat.Modifier); }while (stat.XP >= stat.XPToNextLevel); return(gainedLevels); }
public static bool CanLevelUp(StatObject stat) { if (stat.Level >= stat.MaxLevel) { return(false); } if (!XP_Handler.DoesHaveLevelUp(stat.XP, stat.XPToNextLevel)) { return(false); } LevelingSystem.PlayLevelUpSound(); return(true); }