using System; namespace Framework.Storage.Containers { /// Default interface for an achievement container /// /// This interface should be implemented by your game-specific achievement container /// so generic achievement handling tools, UIs and triggers can access achivements /// without having to be reimplement for each specific game. /// public interface IAchievements { /// Triggers whenever an achievement is granted to the player /// /// This event can be hooked to display an achievement overlay. /// event Action AchievementGained; /// Checks whether the player has unlocked a specified achievements /// Name of the achievement that will be checked /// True if the achievment has been unlocked, false otherwise bool HasAchievement(string name); /// Unlocks an achievement for the player /// Name of the achievement that will unlocked void GrantAchievement(string name); /// Clears all achievements void ResetAllAchievements(); } } // namespace Framework.Storage.Containers