This commit is contained in:
Lucastaa
2026-04-26 00:27:56 +07:00
parent 32c598da8b
commit 966642bdcd
44 changed files with 9296 additions and 441 deletions

View File

@@ -0,0 +1,17 @@
using UnityEngine;
namespace OnlyScove.Scripts
{
[CreateAssetMenu(fileName = "GameSettings", menuName = "Settings/GameSettings")]
public class GameSettings : ScriptableObject
{
[Header("Camera Settings")]
public float sensitivity = 1.0f;
public bool invertX = false;
public bool invertY = false;
public bool sideBiasRight = true; // true for Right, false for Left
[Header("Other Settings")]
public float fieldOfView = 60f;
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1e9fd2c44d7c5bc428b9b4eb12f4a7e1

View File

@@ -0,0 +1,63 @@
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;
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 86e70fc045fbf71469903c69f7f54e67