using GFramework.Core.Abstractions.system;
namespace GFramework.Game.Abstractions.setting;
///
/// 定义设置系统的接口,提供应用各种设置的方法
///
public interface ISettingsSystem : ISystem
{
///
/// 应用所有可应用的设置
///
Task ApplyAll();
///
/// 应用指定类型的设置
///
Task Apply(Type settingsType);
///
/// 应用指定类型的设置(泛型版本)
///
Task Apply() where T : class, ISettingsSection;
///
/// 批量应用多个设置类型
///
Task Apply(IEnumerable settingsTypes);
}