public bool AddExp(long amount) { var currentLevel = Level; Exp += amount; var leveled = false; while (Exp >= ExpToLevel) { CheckLevelUp(); leveled = currentLevel < Level; if (leveled) { HandleLevelUp(); } if (Rm_RPGHandler.Instance.ASVT.AllowExpToOverflow) { break; } } if (leveled) { if (Rm_RPGHandler.Instance.Customise.EnableLevelReachedPopup) { RPG.Popup.ShowInfo("Level " + Level + " Reached!"); } HandleLevelUpVisualAndSound(); } var args = new RPGEvents.GainedExpEventArgs { ExpGained = amount, Leveled = leveled }; RPG.Events.OnGainedExp(args); if (Rm_RPGHandler.Instance.Customise.EnableExpGainedPopup) { RPG.Popup.ShowInfo("+" + amount + " Exp"); } return(leveled); }
private void UpdateFromGainedExp(object sender, RPGEvents.GainedExpEventArgs e) { UpdateStats(); }
private void GainedExpAlt(object sender, RPGEvents.GainedExpEventArgs e) { StartCoroutine("ShowExpGained", e.ExpGained); }