Files
old-sources-modded/1.3-beta1/Settings.cs
T
2025-08-28 15:17:56 -07:00

101 lines
2.9 KiB
C#

using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class Settings : MonoBehaviour
{
public Toggle setting1toggle;
public Toggle setting2toggle;
public Toggle setting3toggle;
public Toggle setting4toggle;
public Toggle setting5toggle;
public Button backbutton;
public Slider musicSlider;
public Slider sfxSlider;
private void Awake()
{
musicSlider.value = PlayerPrefs.GetFloat("musicVolume", 1f);
sfxSlider.value = PlayerPrefs.GetFloat("sfxVolume", 1f);
setting1toggle.isOn = PlayerPrefs.GetInt("Setting1", 1) == 1;
setting2toggle.isOn = PlayerPrefs.GetInt("Setting2", 0) == 1;
setting3toggle.isOn = PlayerPrefs.GetInt("Setting3", 0) == 1;
setting4toggle.isOn = PlayerPrefs.GetInt("Setting4", 0) == 1;
setting5toggle.isOn = PlayerPrefs.GetInt("Setting5", 1) == 1;
backbutton.onClick.AddListener(BackButton);
setting1toggle.onValueChanged.AddListener(delegate
{
Setting1ToggleValueChanged(setting1toggle);
});
setting2toggle.onValueChanged.AddListener(delegate
{
Setting2ToggleValueChanged(setting2toggle);
});
setting3toggle.onValueChanged.AddListener(delegate
{
Setting3ToggleValueChanged(setting3toggle);
});
setting4toggle.onValueChanged.AddListener(delegate
{
Setting4ToggleValueChanged(setting4toggle);
});
setting5toggle.onValueChanged.AddListener(delegate
{
Setting5ToggleValueChanged(setting5toggle);
});
musicSlider.onValueChanged.AddListener(UpdateMusicVolume);
sfxSlider.onValueChanged.AddListener(UpdateSFXVolume);
}
private void Setting1ToggleValueChanged(Toggle change)
{
Screen.fullScreen = change.isOn;
PlayerPrefs.SetInt("Setting1", change.isOn ? 1 : 0);
}
private void Setting2ToggleValueChanged(Toggle change)
{
PlayerPrefs.SetInt("Setting2", change.isOn ? 1 : 0);
}
private void Setting3ToggleValueChanged(Toggle change)
{
PlayerPrefs.SetInt("Setting3", change.isOn ? 1 : 0);
}
private void Setting4ToggleValueChanged(Toggle change)
{
PlayerPrefs.SetInt("Setting4", change.isOn ? 1 : 0);
}
private void Setting5ToggleValueChanged(Toggle change)
{
PlayerPrefs.SetInt("Setting5", change.isOn ? 1 : 0);
QualitySettings.vSyncCount = (change.isOn ? 1 : 0);
}
private void BackButton()
{
SceneManager.LoadScene("Menu");
}
private void UpdateMusicVolume(float volume)
{
PlayerPrefs.SetFloat("musicVolume", volume);
PlayerPrefs.Save();
}
private void UpdateSFXVolume(float volume)
{
PlayerPrefs.SetFloat("sfxVolume", volume);
PlayerPrefs.Save();
}
}