// // Licensed under the MIT License. See LICENSE file in the project root for full license information. // namespace MUnique.OpenMU.GameLogic; /// /// Interface for a skill list of a character. /// public interface ISkillList { /// /// Gets the skills. /// IEnumerable Skills { get; } /// /// Gets the number of skills in the skill list. /// byte SkillCount { get; } /// /// Gets the skill with the specified id. /// /// The skill identifier. /// The skill with the specified id. SkillEntry? GetSkill(ushort skillId); /// /// Adds the learned skill. /// /// The skill. ValueTask AddLearnedSkillAsync(Skill skill); /// /// Removes the item skill. /// /// The skill identifier. /// The success of removing the skill. ValueTask RemoveItemSkillAsync(ushort skillId); /// /// Determines whether the list contains the specified skill of the specified id. /// /// The skill identifier. /// True, if the skill with the specified id is contained in this list; Otherwise, false. bool ContainsSkill(ushort skillId); }