Files
BABA_YAGA/Assets/Scripts/Camera Controller/CameraSideBias.cs

40 lines
1.3 KiB
C#
Raw Normal View History

2026-03-27 12:08:16 +07:00
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)
{
2026-04-26 00:27:56 +07:00
float targetBias = 0f;
2026-03-27 12:08:16 +07:00
2026-04-26 00:27:56 +07:00
if (SettingsManager.Instance != null && SettingsManager.Instance.Settings != null)
2026-03-27 12:08:16 +07:00
{
2026-04-26 00:27:56 +07:00
// Fixed offset based on settings
targetBias = SettingsManager.Instance.Settings.sideBiasRight ? horizontalBiasAmount : -horizontalBiasAmount;
}
if (useSideBias && inputReader != null)
{
// Optionally combine with movement-based bias if desired,
// but following requirement "Toggling the camera offset between Left/Right"
2026-03-27 12:08:16 +07:00
_currentSideBias = Mathf.Lerp(_currentSideBias, targetBias, biasSmoothTime * Time.deltaTime);
}
else
{
2026-04-26 00:27:56 +07:00
_currentSideBias = Mathf.Lerp(_currentSideBias, 0, biasSmoothTime * Time.deltaTime);
2026-03-27 12:08:16 +07:00
}
}
}
}