using System; using System.Collections.Generic; using GFramework.Core.Abstractions.model; namespace GFramework.Game.Abstractions.setting; /// /// 定义设置模型的接口,提供获取特定类型设置节的功能 /// public interface ISettingsModel : IModel { /// /// 获取指定类型的设置节实例 /// /// 设置节的类型,必须是class、实现ISettingsSection接口且具有无参构造函数 /// 指定类型的设置节实例 T Get() where T : class, ISettingsSection, new(); /// /// 尝试获取指定类型的设置节实例 /// /// 要获取的设置节类型 /// 输出参数,如果成功则包含找到的设置节实例,否则为null /// 如果找到指定类型的设置节则返回true,否则返回false bool TryGet(Type type, out ISettingsSection section); /// /// 获取所有设置节的集合 /// /// 包含所有设置节的可枚举集合 IEnumerable All(); /// /// 注册一个可应用的设置对象 /// /// 要注册的可应用设置对象 void Register(IApplyAbleSettings applyAble); }