Files
findthesource/Assets/Scripts/menu/OptionMenu.cs
2022-12-12 11:48:17 +01:00

76 lines
2.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
using UnityEngine.UI;
public class OptionMenu : MonoBehaviour
{
//Resolution
Resolution[] resolutions;
public Dropdown resolutionDropdown;
private void Start() {
resolutions = Screen.resolutions;
resolutionDropdown.ClearOptions();
List<string> options = new List<string>();
int currentResIndex = 0;
for (int i = 0; i < resolutions.Length; i++) {
string option = resolutions[i].width + " x " + resolutions[i].height + " @"+resolutions[i].refreshRate;
options.Add(option);
if(resolutions[i].width == Screen.currentResolution.width && resolutions[i].height == Screen.currentResolution.height) {
currentResIndex = i;
}
}
resolutionDropdown.AddOptions(options);
resolutionDropdown.value = currentResIndex;
//resolutionDropdown.itemText.fontSize = 18;
resolutionDropdown.RefreshShownValue();
}
public void setResolution(int resolutionIndex) {
Resolution resolution = resolutions[resolutionIndex];
Screen.SetResolution(resolution.width, resolution.height, Screen.fullScreen);
}
//Audio
public AudioMixer mixer;
public void SetMainVolume(float mainVolume) {
mixer.SetFloat("Master", mainVolume);
}
public void SetMusicVolume(float musicVolume) {
mixer.SetFloat("Music", musicVolume);
}
public void SetSfxVolume(float sfxVolume) {
mixer.SetFloat("Sfx", sfxVolume);
}
//Quality
public void setQuality(int qualityIndex) {
QualitySettings.SetQualityLevel(qualityIndex);
}
//Fullscreen
public void setFullscreen(bool isFullscreen) {
Screen.fullScreen = isFullscreen;
}
public void setVsync(bool value) {
int num = 0;
if (value) num = 1;
else num = 0;
if (num > 0) Debug.Log("vsync on");
else Debug.Log("vsync off");
QualitySettings.vSyncCount = num;
}
}