33 lines
899 B
C#
33 lines
899 B
C#
|
|
using UnityEngine;
|
||
|
|
|
||
|
|
namespace OnlyScove.Scripts
|
||
|
|
{
|
||
|
|
[System.Serializable]
|
||
|
|
public class CameraSideBias
|
||
|
|
{
|
||
|
|
[Header("Side Bias")]
|
||
|
|
[SerializeField] private bool useSideBias = true;
|
||
|
|
[SerializeField] private float horizontalBiasAmount = 0.5f;
|
||
|
|
[SerializeField] private float biasSmoothTime = 3f;
|
||
|
|
|
||
|
|
private float _currentSideBias;
|
||
|
|
|
||
|
|
public float CurrentSideBias => _currentSideBias;
|
||
|
|
|
||
|
|
public void HandleSideBias(InputReader inputReader)
|
||
|
|
{
|
||
|
|
if (inputReader == null) return;
|
||
|
|
|
||
|
|
if (useSideBias)
|
||
|
|
{
|
||
|
|
float targetBias = -inputReader.MoveInput.x * horizontalBiasAmount;
|
||
|
|
_currentSideBias = Mathf.Lerp(_currentSideBias, targetBias, biasSmoothTime * Time.deltaTime);
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
_currentSideBias = 0;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|