Files
project-reset/Assets/Scripts/Player/CameraSettingData.cs

57 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using UnityEngine;
public struct CameraSettingData : ICloneable{
public SettingValue<float> mainFieldOfView;
public SettingValue<Vector3> orbitPositionDamping;
public SettingValue<Vector3> orbitTargetOffset;
public SettingValue<bool> axisLookEnabledX;
public SettingValue<bool> axisLookEnabledY;
public SettingValue<float> axisLookGainX;
public SettingValue<float> axisLookGainY;
public SettingValue<float> orbitFollowTopHeight;
public SettingValue<float> orbitFollowTopRadius;
public SettingValue<float> orbitFollowCenterHeight;
public SettingValue<float> orbitFollowCenterRadius;
public SettingValue<float> orbitFollowBottomHeight;
public SettingValue<float> orbitFollowBottomRadius;
public SettingValue<Vector2> rotationComposerScreenPos;
public SettingValue<Vector3> cameraOffsetOffset;
public object Clone(){
return MemberwiseClone();
}
public List<IResettableSettingValue> GetAllSettings(){
var outputList = new List<IResettableSettingValue>();
IResettableSettingValue[] settings = new[]{
mainFieldOfView as IResettableSettingValue,
orbitPositionDamping,
orbitTargetOffset,
axisLookEnabledX,
axisLookEnabledY,
axisLookGainX,
axisLookGainY,
orbitFollowTopHeight,
orbitFollowTopRadius,
orbitFollowCenterHeight,
orbitFollowCenterRadius,
orbitFollowBottomHeight,
orbitFollowBottomRadius,
rotationComposerScreenPos,
cameraOffsetOffset,
};
outputList.AddRange(settings);
return outputList;
}
}