chore: initial commit
This commit is contained in:
57
Assets/Scripts/Core/GlobalSettingsSO.cs
Normal file
57
Assets/Scripts/Core/GlobalSettingsSO.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using UnityEngine;
|
||||
using BaseGames.Core.Events;
|
||||
|
||||
namespace BaseGames.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// 游戏全局设置数据(运行时值)。
|
||||
/// </summary>
|
||||
[System.Serializable]
|
||||
public class GlobalSettingsData
|
||||
{
|
||||
public float MasterVolume = 1f;
|
||||
public float BGMVolume = 0.8f;
|
||||
public float SFXVolume = 1f;
|
||||
public float AmbientVolume = 0.8f;
|
||||
|
||||
public bool VSync = true;
|
||||
public int TargetFPS = 60;
|
||||
public bool FullScreen = true;
|
||||
|
||||
public string Language = "zh-CN";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 全局设置默认值 SO(资产:Assets/Data/Settings/SET_GlobalSettings.asset)。
|
||||
/// </summary>
|
||||
[CreateAssetMenu(menuName = "Settings/GlobalSettings")]
|
||||
public class GlobalSettingsSO : ScriptableObject
|
||||
{
|
||||
[Header("Audio")]
|
||||
public float DefaultMasterVolume = 1f;
|
||||
public float DefaultBGMVolume = 0.8f;
|
||||
public float DefaultSFXVolume = 1f;
|
||||
public float DefaultAmbientVolume = 0.8f;
|
||||
|
||||
[Header("Display")]
|
||||
public bool DefaultVSync = true;
|
||||
public int DefaultTargetFPS = 60;
|
||||
public bool DefaultFullScreen = true;
|
||||
|
||||
[Header("Language")]
|
||||
public string DefaultLanguage = "zh-CN";
|
||||
|
||||
/// <summary>将 SO 默认值填入 GlobalSettingsData。</summary>
|
||||
public GlobalSettingsData CreateDefault() => new GlobalSettingsData
|
||||
{
|
||||
MasterVolume = DefaultMasterVolume,
|
||||
BGMVolume = DefaultBGMVolume,
|
||||
SFXVolume = DefaultSFXVolume,
|
||||
AmbientVolume = DefaultAmbientVolume,
|
||||
VSync = DefaultVSync,
|
||||
TargetFPS = DefaultTargetFPS,
|
||||
FullScreen = DefaultFullScreen,
|
||||
Language = DefaultLanguage,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user