多轮审查评估
This commit is contained in:
@@ -1,46 +1,49 @@
|
||||
using UnityEngine;
|
||||
using BaseGames.Core.Events;
|
||||
|
||||
/// <summary>
|
||||
/// 无障碍设置数据 SO(架构 16_SupportingModules §6)。
|
||||
/// 包含屏幕抖动、闪光减弱、色盲模式等辅助功能开关。
|
||||
/// </summary>
|
||||
[CreateAssetMenu(menuName = "Settings/AccessibilitySettings", fileName = "SET_Accessibility")]
|
||||
public class AccessibilitySettingsSO : ScriptableObject
|
||||
namespace BaseGames.Support.Accessibility
|
||||
{
|
||||
private const string PrefsPrefix = "accessibility_";
|
||||
|
||||
[Header("屏幕体感")]
|
||||
public bool ScreenShake = true;
|
||||
public bool ReducedFlash = false;
|
||||
|
||||
[Header("色盲模式")]
|
||||
public ColorblindMode ColorblindMode = ColorblindMode.None;
|
||||
|
||||
[Header("文字与 UI")]
|
||||
public bool LargeText = false;
|
||||
public bool HighContrast = false;
|
||||
public float UIScale = 1f;
|
||||
|
||||
// ── 持久化 ──────────────────────────────────────────────────────────────
|
||||
public void Save()
|
||||
/// <summary>
|
||||
/// 无障碍设置数据 SO(架构 16_SupportingModules §6)。
|
||||
/// 包含屏幕抖动、闪光减弱、色盲模式等辅助功能开关。
|
||||
/// </summary>
|
||||
[CreateAssetMenu(menuName = "Settings/AccessibilitySettings", fileName = "SET_Accessibility")]
|
||||
public class AccessibilitySettingsSO : ScriptableObject
|
||||
{
|
||||
PlayerPrefs.SetInt (PrefsPrefix + "ScreenShake", ScreenShake ? 1 : 0);
|
||||
PlayerPrefs.SetInt (PrefsPrefix + "ReducedFlash", ReducedFlash ? 1 : 0);
|
||||
PlayerPrefs.SetInt (PrefsPrefix + "ColorblindMode",(int)ColorblindMode);
|
||||
PlayerPrefs.SetInt (PrefsPrefix + "LargeText", LargeText ? 1 : 0);
|
||||
PlayerPrefs.SetInt (PrefsPrefix + "HighContrast", HighContrast ? 1 : 0);
|
||||
PlayerPrefs.SetFloat (PrefsPrefix + "UIScale", UIScale);
|
||||
PlayerPrefs.Save();
|
||||
}
|
||||
private const string PrefsPrefix = "accessibility_";
|
||||
|
||||
public void Load()
|
||||
{
|
||||
ScreenShake = PlayerPrefs.GetInt (PrefsPrefix + "ScreenShake", 1) == 1;
|
||||
ReducedFlash = PlayerPrefs.GetInt (PrefsPrefix + "ReducedFlash", 0) == 1;
|
||||
ColorblindMode = (ColorblindMode)PlayerPrefs.GetInt(PrefsPrefix + "ColorblindMode", 0);
|
||||
LargeText = PlayerPrefs.GetInt (PrefsPrefix + "LargeText", 0) == 1;
|
||||
HighContrast = PlayerPrefs.GetInt (PrefsPrefix + "HighContrast", 0) == 1;
|
||||
UIScale = PlayerPrefs.GetFloat(PrefsPrefix + "UIScale", 1f);
|
||||
[Header("屏幕体感")]
|
||||
public bool ScreenShake = true;
|
||||
public bool ReducedFlash = false;
|
||||
|
||||
[Header("色盲模式")]
|
||||
public ColorblindMode ColorblindMode = ColorblindMode.None;
|
||||
|
||||
[Header("文字与 UI")]
|
||||
public bool LargeText = false;
|
||||
public bool HighContrast = false;
|
||||
public float UIScale = 1f;
|
||||
|
||||
// ── 持久化 ──────────────────────────────────────────────────────────────
|
||||
public void Save()
|
||||
{
|
||||
PlayerPrefs.SetInt (PrefsPrefix + "ScreenShake", ScreenShake ? 1 : 0);
|
||||
PlayerPrefs.SetInt (PrefsPrefix + "ReducedFlash", ReducedFlash ? 1 : 0);
|
||||
PlayerPrefs.SetInt (PrefsPrefix + "ColorblindMode",(int)ColorblindMode);
|
||||
PlayerPrefs.SetInt (PrefsPrefix + "LargeText", LargeText ? 1 : 0);
|
||||
PlayerPrefs.SetInt (PrefsPrefix + "HighContrast", HighContrast ? 1 : 0);
|
||||
PlayerPrefs.SetFloat (PrefsPrefix + "UIScale", UIScale);
|
||||
PlayerPrefs.Save();
|
||||
}
|
||||
|
||||
public void Load()
|
||||
{
|
||||
ScreenShake = PlayerPrefs.GetInt (PrefsPrefix + "ScreenShake", 1) == 1;
|
||||
ReducedFlash = PlayerPrefs.GetInt (PrefsPrefix + "ReducedFlash", 0) == 1;
|
||||
ColorblindMode = (ColorblindMode)PlayerPrefs.GetInt(PrefsPrefix + "ColorblindMode", 0);
|
||||
LargeText = PlayerPrefs.GetInt (PrefsPrefix + "LargeText", 0) == 1;
|
||||
HighContrast = PlayerPrefs.GetInt (PrefsPrefix + "HighContrast", 0) == 1;
|
||||
UIScale = PlayerPrefs.GetFloat(PrefsPrefix + "UIScale", 1f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user