using GFramework.Core.Abstractions.system; namespace GFramework.Game.Abstractions.setting; /// /// 定义设置系统的接口,提供应用各种设置的方法 /// public interface ISettingsSystem : ISystem { /// /// 应用所有可应用的设置 /// /// 表示异步操作的任务 Task ApplyAll(); /// /// 应用指定类型的设置(泛型版本) /// /// 设置类型,必须是class且实现IResetApplyAbleSettings接口 /// 表示异步操作的任务 Task Apply() where T : class, IResetApplyAbleSettings; /// /// 保存所有设置 /// /// 表示异步操作的任务 Task SaveAll(); /// /// 重置指定类型的设置 /// /// 设置类型,必须继承自class并实现IPersistentApplyAbleSettings接口 /// 表示异步操作的任务 Task Reset() where T : class, ISettingsData, IResetApplyAbleSettings, new(); /// /// 重置所有设置 /// /// 表示异步操作的任务 Task ResetAll(); }