biography-of-lijie/Assets/GameMain/Scripts/Setting/SettingExtension.cs

50 lines
2.2 KiB
C#

using System.Data;
using Definition;
using Definition.DataStruct;
using Definition.Enum;
using UnityGameFramework.Runtime;
namespace Setting
{
public static class SettingExtension
{
public static GameSetting GetGameSetting(this SettingComponent setting)
{
var data = new GameSetting
{
BGMVolume = setting.GetFloat(Constant.Setting.BGMVolume, 0.6f),
SEVolume = setting.GetFloat(Constant.Setting.SEVolume, 0.6f),
AllowShake = setting.GetBool(Constant.Setting.AllowShake, true),
AllowBlink = setting.GetBool(Constant.Setting.AllowBlink, true),
DialogWindowAlpha = (DialogWindowAlpha)setting.GetInt(Constant.Setting.DialogWindowAlpha, 1),
DialogPlayingSpeed = (DialogPlayingSpeed)setting.GetInt(Constant.Setting.DialogPlayingSpeed, 1),
ScreenResolution = (ScreenResolutionType)setting.GetInt(Constant.Setting.ScreenSolution, 1),
ScreenWindow = (ScreenWindowType)setting.GetInt(Constant.Setting.ScreenWindow, 2),
VSync = setting.GetBool(Constant.Setting.VSync, true),
AntiAliasing = setting.GetBool(Constant.Setting.AntiAliasing, true)
};
return data;
}
public static void SaveSetting(this SettingComponent setting, GameSetting data)
{
setting.SetFloat(Constant.Setting.BGMVolume, data.BGMVolume);
setting.SetFloat(Constant.Setting.SEVolume, data.SEVolume);
setting.SetBool(Constant.Setting.AllowShake, data.AllowShake);
setting.SetBool(Constant.Setting.AllowBlink, data.AllowBlink);
setting.SetInt(Constant.Setting.DialogWindowAlpha, (int)data.DialogWindowAlpha);
setting.SetInt(Constant.Setting.DialogPlayingSpeed, (int)data.DialogPlayingSpeed);
setting.SetInt(Constant.Setting.ScreenSolution, (int)data.ScreenResolution);
setting.SetInt(Constant.Setting.ScreenWindow, (int)data.ScreenWindow);
setting.SetBool(Constant.Setting.VSync, data.VSync);
setting.SetBool(Constant.Setting.AntiAliasing, data.AntiAliasing);
setting.Save();
}
}
}