Files
BABA_YAGA/Assets/Scripts/GameSetup/SettingsManager.cs
Lucastaa 966642bdcd update
2026-04-26 00:27:56 +07:00

64 lines
1.6 KiB
C#

using UnityEngine;
namespace OnlyScove.Scripts
{
public class SettingsManager : MonoBehaviour
{
public static SettingsManager Instance { get; private set; }
[SerializeField] private GameSettings settings;
public GameSettings Settings => settings;
private void Awake()
{
if (Instance == null)
{
Instance = this;
DontDestroyOnLoad(gameObject);
if (settings == null)
{
// Fallback or load from Resources if needed
settings = ScriptableObject.CreateInstance<GameSettings>();
}
}
else
{
Destroy(gameObject);
}
}
public void SetSensitivity(float value)
{
settings.sensitivity = value;
OnSettingsChanged?.Invoke();
}
public void SetInvertX(bool value)
{
settings.invertX = value;
OnSettingsChanged?.Invoke();
}
public void SetInvertY(bool value)
{
settings.invertY = value;
OnSettingsChanged?.Invoke();
}
public void SetSideBias(bool isRight)
{
settings.sideBiasRight = isRight;
OnSettingsChanged?.Invoke();
}
public void ToggleSideBias()
{
settings.sideBiasRight = !settings.sideBiasRight;
OnSettingsChanged?.Invoke();
}
public event System.Action OnSettingsChanged;
}
}