using System; using System.Collections.Generic; using Sirenix.OdinInspector; using UnityEngine; [Serializable] public class CameraSettingData{ [Title("Field of View"), HideLabel, InlineProperty] public SettingValue mainFieldOfView = new SettingValue(0f); [Title("Orbit Position Damping"), HideLabel, InlineProperty] public SettingValue orbitPositionDamping = new SettingValue(Vector3.zero); [Title("Orbit Target Offset"), HideLabel, InlineProperty] public SettingValue orbitTargetOffset= new SettingValue(Vector3.zero); [Title("X Axis Look Enabled"), HideLabel, InlineProperty] public SettingValue axisLookEnabledX = new SettingValue(true); [Title("Y Axis Look Enabled"), HideLabel, InlineProperty] public SettingValue axisLookEnabledY = new SettingValue(true); [Title("X Axis Look Gain"), HideLabel, InlineProperty] public SettingValue axisLookGainX = new SettingValue(0f); [Title("Y Axis Look Gain"), HideLabel, InlineProperty] public SettingValue axisLookGainY = new SettingValue(0f); [Title("Orbit Follow Top Height"), HideLabel, InlineProperty] public SettingValue orbitFollowTopHeight = new SettingValue(0f); [Title("Orbit Follow Top Radius"), HideLabel, InlineProperty] public SettingValue orbitFollowTopRadius = new SettingValue(0f); [Title("Orbit Follow Center Height"), HideLabel, InlineProperty] public SettingValue orbitFollowCenterHeight = new SettingValue(0f); [Title("Orbit Follow Center Radius"), HideLabel, InlineProperty] public SettingValue orbitFollowCenterRadius = new SettingValue(0f); [Title("Orbit Follow Bottom Height"), HideLabel, InlineProperty] public SettingValue orbitFollowBottomHeight = new SettingValue(0f); [Title("Orbit Follow Bottom Radius"), HideLabel, InlineProperty] public SettingValue orbitFollowBottomRadius = new SettingValue(0f); public SettingValue rotationComposerScreenPos= new SettingValue(Vector2.zero); public SettingValue cameraOffsetOffset= new SettingValue(Vector3.zero); public List GetAllSettings(){ var outputList = new List(); IResettableSettingValue[] settings = { mainFieldOfView, orbitPositionDamping, orbitTargetOffset, axisLookEnabledX, axisLookEnabledY, axisLookGainX, axisLookGainY, orbitFollowTopHeight, orbitFollowTopRadius, orbitFollowCenterHeight, orbitFollowCenterRadius, orbitFollowBottomHeight, orbitFollowBottomRadius, rotationComposerScreenPos, cameraOffsetOffset, }; outputList.AddRange(settings); return outputList; } }