namespace GFramework.Game.Abstractions.setting.data; /// /// 图形设置类,用于管理游戏的图形相关配置 /// public class GraphicsSettings : ISettingsData { /// /// 获取或设置是否启用全屏模式 /// public bool Fullscreen { get; set; } /// /// 获取或设置屏幕分辨率宽度 /// public int ResolutionWidth { get; set; } = 1920; /// /// 获取或设置屏幕分辨率高度 /// public int ResolutionHeight { get; set; } = 1080; /// /// 重置图形设置为默认值 /// public void Reset() { Fullscreen = false; ResolutionWidth = 1920; ResolutionHeight = 1080; } /// /// 获取或设置设置数据的版本号 /// public int Version { get; private set; } = 1; /// /// 获取设置数据最后修改的时间 /// public DateTime LastModified { get; } = DateTime.UtcNow; /// /// 从指定的数据源加载图形设置 /// /// 要从中加载设置的源数据对象 public void LoadFrom(ISettingsData source) { // 检查源数据是否为GraphicsSettings类型,如果不是则直接返回 if (source is not GraphicsSettings settings) return; // 将源设置中的属性值复制到当前对象 Fullscreen = settings.Fullscreen; ResolutionWidth = settings.ResolutionWidth; ResolutionHeight = settings.ResolutionHeight; Version = settings.Version; } }