Files
Cielonos/Assets/Scripts/Settings/GameSettingsData.cs
SoulliesOfficial 6d7ebc5825 Passion & UI
2026-06-12 17:11:39 -04:00

87 lines
2.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using UnityEngine;
namespace Cielonos.Settings
{
/// <summary>
/// Gameplay 相关设置语言、相机、HUD 显示等。
/// </summary>
[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;
}
/// <summary>
/// 画面设置:分辨率、画质、帧率等。
/// </summary>
[Serializable]
public class GraphicsSettings
{
/// <summary>分辨率宽度0 表示使用当前原生分辨率。</summary>
public int resolutionWidth = 0;
/// <summary>分辨率高度0 表示使用当前原生分辨率。</summary>
public int resolutionHeight = 0;
public FullScreenMode fullscreenMode = FullScreenMode.FullScreenWindow;
/// <summary>画质预设索引,-1 表示使用项目默认值。</summary>
[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;
}
/// <summary>
/// 音频设置:各通道音量,映射到 Wwise RTPC。
/// </summary>
[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;
}
/// <summary>
/// 操控设置:按键绑定覆盖数据。
/// <para>
/// <see cref="bindingOverridesJson"/> 存储
/// <c>InputActionAsset.SaveBindingOverridesAsJson()</c> 的输出,
/// 由 <c>PlayerInputSubcontroller</c> 在初始化时读取并应用。
/// </para>
/// </summary>
[Serializable]
public class ControlsSettings
{
[SettingsIgnore]
public string bindingOverridesJson = "";
}
}