public void GainExperience(ActorGainedExperienceEventArgs args) { Mechanics.Experience.GainExperience(args.Experience); if (OnActorGainedExperience != null) { OnActorGainedExperience(args); } }
protected void Kill(ActorDiedEventArgs args) { Alive = false; if (args.Killer != null) { ActorGainedExperienceEventArgs tempArgs = new ActorGainedExperienceEventArgs(args.Killer, this.ExpReward); args.Killer.GainExperience(tempArgs); } }
private void CheckIfNewLevelReached(ActorGainedExperienceEventArgs args) { int[] tempExpTable = (args.Rewarded.Type == ActorType.Player) ? PlayerNextLevelEXPRequirement : EnemyNextLevelEXPRequirement; float exp = args.Rewarded.Experience; int lvl = args.Rewarded.Level; while (lvl < tempExpTable.Length && exp >= tempExpTable [lvl]) { ActorGainedLevelEventArgs tempArgs = new ActorGainedLevelEventArgs(args.Rewarded, ++lvl); args.Rewarded.GainLevel(tempArgs); } }
private void ExperienceGained(ActorGainedExperienceEventArgs args) { ExpSlider.value = ExpManager.PercentProgressBetweenLevels(player.Experience, player.Level); }