using System;
using UnityEngine;
namespace Cielonos.Settings
{
///
/// Gameplay 相关设置:语言、相机、HUD 显示等。
///
[Serializable]
public class GameplaySettings
{
[SettingsIgnore]
public string locale = "zh-CN";
[Range(10f, 100f)]
public int cameraSensitivityX = 50;
[Range(10f, 100f)]
public int cameraSensitivityY = 50;
public bool invertYAxis = false;
public bool showHUD = true;
public bool showDamageNumbers = true;
public bool showFPS = false;
}
///
/// 画面设置:分辨率、画质、帧率等。
///
[Serializable]
public class GraphicsSettings
{
/// 分辨率宽度,0 表示使用当前原生分辨率。
public int resolutionWidth = 0;
/// 分辨率高度,0 表示使用当前原生分辨率。
public int resolutionHeight = 0;
public FullScreenMode fullscreenMode = FullScreenMode.FullScreenWindow;
/// 画质预设索引,-1 表示使用项目默认值。
[Range(1, 4)]
public int qualityLevel = 4;
public bool vSync = true;
[Range(10f, 240f)]
public int targetFrameRate = 120;
[Range(10f, 100f)]
public int brightness = 50;
public bool postProcessing = true;
}
///
/// 音频设置:各通道音量,映射到 Wwise RTPC。
///
[Serializable]
public class SoundSettings
{
[Range(0f, 100f)]
public int masterVolume = 50;
[Range(0f, 100f)]
public int musicVolume = 50;
[Range(0f, 100f)]
public int sfxVolume = 50;
}
///
/// 操控设置:按键绑定覆盖数据。
///
/// 存储
/// InputActionAsset.SaveBindingOverridesAsJson() 的输出,
/// 由 PlayerInputSubcontroller 在初始化时读取并应用。
///
///
[Serializable]
public class ControlsSettings
{
[SettingsIgnore]
public string bindingOverridesJson = "";
}
}