using System;
using System.ComponentModel;
using MemoryPack;
using Unity.Mathematics;
#if UNITY_5_3_OR_NEWER
using UnityEngine;
#endif
namespace Project.B.Player
{
#if UNITY_5_3_OR_NEWER
public enum VSyncCount
{
DontSync,
EveryVBlank,
EverySecondVBlank
}
public enum RealtimeGICPUUsage
{
Low,
Medium,
High,
Unlimited
}
public enum GlobalMipmapLimit
{
FullResolution,
HalfResolution,
QuarterResolution,
EighthResolution,
}
#endif
///
/// 玩家设置
///
public class PlayerSettings
{
///
/// 灵敏度
///
[Category("控制")]
[DisplayName("鼠标灵敏度")]
public float Sensitivity { get; set; } = 1.81f;
[DisplayName("手柄灵敏度")] public float GamePadSensitivity { get; set; } = 1;
[DisplayName("触屏灵敏度")] public float TouchSensitivity { get; set; } = 0.32f;
///
/// 视野
///
[Category("画面")]
[DisplayName("FOV")]
public int Fov { get; set; } = 90;
///
/// 第三人称视野
///
[DisplayName("TPS FOV")]
public int TpsFov { get; set; } = 75;
///
/// 分辨率
///
[DisplayName("分辨率")] public int2 Resolution { get; set; }
///
/// 是否全屏
///
[DisplayName("全屏")] public bool IsFullScreen { get; set; }
[Category("质量")]
[DisplayName("实时反射Cubemap")]public bool RealtimeReflectionProbes { get; set; }
[DisplayName("纹理串流")] public bool TextureStreaming { get; set; }
#if UNITY_5_3_OR_NEWER
[DisplayName("垂直同步")]
public VSyncCount VSyncCount { get; set; }
[DisplayName("实时GI使用率")]
public RealtimeGICPUUsage RealtimeGICPUUsage { get; set; }
[DisplayName("纹理质量")]
public GlobalMipmapLimit GlobalMipmapLimit { get; set; }
[DisplayName("各向异性")] public AnisotropicFiltering AnisotropicFiltering { get; set; }
[DisplayName("阴影模式")] public ShadowmaskMode ShadowmaskMode { get; set; }
[DisplayName("蒙皮权重")] public SkinWeights SkinWeights { get; set; }
#endif
}
}