Files
JourneyToNowhere_Unity/Assets/Scripts/SingleUtils/SettingsPanel.cs
T

59 lines
1.8 KiB
C#
Raw Normal View History

2024-01-27 08:49:55 +08:00
using TMPro;
using UnityEngine;
using System.Collections.Generic;
using UnityEngine.Rendering.PostProcessing;
public class SettingsPanel : MonoBehaviour
{
public GameObject settingsPanel;
public GameObject settingsPanelDeactivator;
public bool DisableSettingsPanelWhenLinkedGameobjectIsActivated = false;
public TMP_Dropdown GraphicsQualityDropdown;
public PostProcessVolume PostProcessVolume;
2024-01-31 22:53:00 +08:00
public List<PostProcessVolume> PostProcessingVolumes = new() { };
2024-01-27 08:49:55 +08:00
private void Update()
{
if (settingsPanel && DisableSettingsPanelWhenLinkedGameobjectIsActivated && settingsPanelDeactivator.activeInHierarchy)
{
settingsPanel.SetActive(false);
settingsPanelDeactivator.SetActive(false);
}
}
2024-01-31 22:53:00 +08:00
public void AcTogglePostProcessing(bool IsEnabled) {
if (IsEnabled)
PlayerPrefs.SetInt("PostProcessingEnabled", 1);
else
PlayerPrefs.SetInt("PostProcessingEnabled", 0);
foreach (PostProcessVolume volume in PostProcessingVolumes)
volume.enabled = IsEnabled;
}
2024-01-27 08:49:55 +08:00
private void Start()
{
if (GraphicsQualityDropdown)
{
string[] QualityNames = QualitySettings.names;
List<TMP_Dropdown.OptionData> Options = new();
GraphicsQualityDropdown.ClearOptions();
foreach (string QualityName in QualityNames)
{
Options.Add(new TMP_Dropdown.OptionData(QualityName));
}
GraphicsQualityDropdown.AddOptions(Options);
GraphicsQualityDropdown.value = QualitySettings.GetQualityLevel();
}
}
public void SwitchQualitySettings(int index)
{
if (GraphicsQualityDropdown)
{
QualitySettings.SetQualityLevel(index);
}
}
}