r2mods/ilspy_dump/ror2_csproj/RoR2/CharacterCameraParams.cs

91 lines
2.6 KiB
C#

using System;
using HG;
using HG.BlendableTypes;
using UnityEngine;
namespace RoR2;
[CreateAssetMenu(menuName = "RoR2/CharacterCameraParams")]
public class CharacterCameraParams : ScriptableObject
{
[SerializeField]
[HideInInspector]
private int version;
public CharacterCameraParamsData data;
private static readonly float minPitchDefault = -70f;
private static readonly float maxPitchDefault = 70f;
private static readonly float wallCushionDefault = 0.1f;
private static readonly float pivotVerticalOffsetDefault = 1.6f;
private static readonly Vector3 standardLocalCameraPosDefault = new Vector3(0f, 0f, -5f);
[Obsolete("Use data.minPitch instead.", false)]
[ShowFieldObsolete]
public float minPitch = minPitchDefault;
[Obsolete("Use data.maxPitch instead.", false)]
[ShowFieldObsolete]
public float maxPitch = maxPitchDefault;
[ShowFieldObsolete]
[Obsolete("Use data.wallCushion instead.", false)]
public float wallCushion = wallCushionDefault;
[Obsolete("Use data.pivotVerticalOffset instead.", false)]
[ShowFieldObsolete]
public float pivotVerticalOffset = pivotVerticalOffsetDefault;
[ShowFieldObsolete]
[Obsolete("Use data.standardLocalCameraPos instead.", false)]
public Vector3 standardLocalCameraPos = standardLocalCameraPosDefault;
private void Awake()
{
UpdateVersion();
}
private void UpdateVersion()
{
if (version < 1)
{
SetBlendableFromValue(out data.minPitch, minPitch, minPitchDefault);
SetBlendableFromValue(out data.maxPitch, maxPitch, maxPitchDefault);
SetBlendableFromValue(out data.wallCushion, wallCushion, wallCushionDefault);
SetBlendableFromValue(out data.pivotVerticalOffset, pivotVerticalOffset, pivotVerticalOffsetDefault);
SetBlendableFromValue(out data.idealLocalCameraPos, standardLocalCameraPos, standardLocalCameraPosDefault);
version = 1;
}
else
{
minPitch = data.minPitch.value;
maxPitch = data.maxPitch.value;
wallCushion = data.wallCushion.value;
pivotVerticalOffset = data.pivotVerticalOffset.value;
standardLocalCameraPos = data.idealLocalCameraPos.value;
}
}
private static void SetBlendableFromValue(out BlendableFloat dest, float src, float defaultValue)
{
dest.value = src;
dest.alpha = (src.Equals(defaultValue) ? 0f : 1f);
}
private static void SetBlendableFromValue(out BlendableVector3 dest, Vector3 src, Vector3 defaultValue)
{
dest.value = src;
dest.alpha = (src.Equals(defaultValue) ? 0f : 1f);
}
private static void SetBlendableFromValue(out BlendableBool dest, bool src, bool defaultValue)
{
dest.value = src;
dest.alpha = (src.Equals(defaultValue) ? 0f : 1f);
}
}