Files
Slendytubbies-V2-Beta/V2Beta/Assets/Scripts/Assembly-CSharp/optionsMenu.cs
T
2026-05-24 12:14:04 +02:00

110 lines
2.7 KiB
C#

using System.IO;
using System.Text.RegularExpressions;
using UnityEngine;
public class optionsMenu : MonoBehaviour
{
public static bool showMenu;
private string settings;
public static float ambianceLevel;
public static bool fullscreen;
public static string screenres = "1";
private string curRes = "1";
private void Start()
{
string[] array = Regex.Split(settings, "\r\n");
string[] array2 = array;
foreach (string input in array2)
{
string[] array3 = Regex.Split(input, "=");
if (array3[0] == "ambiance")
{
ambianceLevel = float.Parse(array3[1]);
}
else if (array3[0] == "fullscreen")
{
if (array3[1] == "True" || array3[1] == "true")
{
Screen.fullScreen = true;
fullscreen = true;
}
else
{
Screen.fullScreen = false;
}
}
else if (array3[0] == "screenresolution")
{
switch (array3[1])
{
case "1":
Screen.SetResolution(1366, 768, fullscreen);
break;
case "2":
Screen.SetResolution(1600, 900, fullscreen);
break;
}
screenres = array3[1];
}
}
}
private void Update()
{
if (curRes != screenres)
{
switch (screenres)
{
case "1":
Screen.SetResolution(1366, 768, fullscreen);
break;
case "2":
Screen.SetResolution(1600, 900, fullscreen);
break;
}
curRes = screenres;
}
if (Screen.fullScreen != fullscreen)
{
Screen.fullScreen = fullscreen;
}
}
public void OnGUI()
{
GUI.depth = 1000;
if (showMenu)
{
GUI.Box(new Rect(Screen.width / 2 - 150, Screen.height / 2 - 150, 300f, 300f), string.Empty);
GUI.Label(new Rect(Screen.width / 2 - 150, Screen.height / 2 - 150, 300f, 300f), "Sound");
GUI.Label(new Rect(Screen.width / 2 - 145, Screen.height / 2 - 130, 300f, 300f), "Ambience");
GUI.Label(new Rect(Screen.width / 2 + 115, Screen.height / 2 - 130, 300f, 300f), (int)(ambianceLevel * 100f) + "%");
ambianceLevel = GUI.HorizontalSlider(new Rect(Screen.width / 2 - 80, Screen.height / 2 - 125, 190f, 50f), ambianceLevel, 0f, 1f);
GUI.Label(new Rect(Screen.width / 2 - 150, Screen.height / 2 - 100, 300f, 300f), "Graphics");
fullscreen = GUI.Toggle(new Rect(Screen.width / 2 - 150, Screen.height / 2 - 80, 200f, 30f), fullscreen, "Fullscreen");
if (GUI.Button(new Rect(Screen.width / 2 - 60, Screen.height / 2 + 110, 120f, 30f), "Close"))
{
showMenu = false;
saveSettings();
}
}
GUI.depth = 0;
}
public static void saveSettings()
{
string text = "ambiance=" + (int)(ambianceLevel * 100f);
text = text + "\r\nfullscreen=" + fullscreen;
text = text + "\r\nscreenresolution=" + screenres;
StreamWriter streamWriter = new StreamWriter("settings.ini");
streamWriter.Write(text);
streamWriter.Close();
}
}