/// <summary> /// /// </summary> /// <param name="currentXP">The current XP of the creature.</param> /// <param name="currentLevel">The current level of the creature.</param> /// <param name="xpCalculator">The method of calculating XP to the next level.</param> public XP(UInt64 currentXP, int currentLevel, IXPCalculator xpCalculator) { this.CurrentXP = currentXP; this.CurrentLevel = currentLevel; this.XPCalculator = xpCalculator; this.NextLevelXPRequired += xpCalculator.GetRequiredXP(this.CurrentLevel); }
/// <summary> /// /// </summary> /// <param name="displayName">The display name of the skill.</param> /// <param name="skillAmount">The level of the creature's skill.</param> /// <param name="learnable">If true the creature is capable of learning the skill.</param> /// <param name="internalName"></param> /// <param name="xpProgression"></param> public Skill(string displayName, ComboAttribute skillAmount, bool learnable, string internalName, IXPCalculator xpProgression) { this.DisplayName = displayName; this.SkillAmount = skillAmount; this.Learnable = learnable; this.InternalName = internalName; this.Experience = new XP(1, skillAmount.BaseValue.GetValue(), xpProgression); }