MIF_E31211305/SettingsMenu.cs

73 lines
2.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Audio;
using TMPro;
public class SettingsMenu : MonoBehaviour
{
public AudioMixer audioMixer;
public TMP_Dropdown qualityDropdown;
public TMP_Dropdown resolutionDropdown;
Resolution[] resolutions;
void Start()
{
resolutions = Screen.resolutions;
resolutionDropdown.ClearOptions();
qualityDropdown.ClearOptions();
List<string> resolutionOptions = new List<string>();
List<string> qualityOptions = new List<string>();
int currentResolutionIndex = 0;
for (int i = 0; i < resolutions.Length; i++)
{
string resolutionOption = resolutions[i].width + " x " + resolutions[i].height;
resolutionOptions.Add(resolutionOption);
if (resolutions[i].width == Screen.currentResolution.width &&
resolutions[i].height == Screen.currentResolution.height)
{
currentResolutionIndex = i;
}
}
resolutionDropdown.AddOptions(resolutionOptions);
resolutionDropdown.value = currentResolutionIndex;
resolutionDropdown.RefreshShownValue();
for (int i = 0; i < QualitySettings.names.Length; i++)
{
qualityOptions.Add(QualitySettings.names[i]);
}
qualityDropdown.AddOptions(qualityOptions);
}
public void SetResolution(int resolutionIndex)
{
Resolution resolution = resolutions[resolutionIndex];
Screen.SetResolution(resolution.width, resolution.height, Screen.fullScreen);
}
public void SetVolume(float volume)
{
audioMixer.SetFloat("Volume", volume);
}
public void SetQuality(int qualityIndex)
{
QualitySettings.SetQualityLevel(qualityIndex);
}
public void SetFullscreen(bool isFullscreen)
{
Screen.fullScreen = isFullscreen;
}
}