Files
ichni_Creator_Studio/Assets/Scripts/StartMenu/EditorSettingsPage.cs
SoulliesOfficial fc53c2437a 设置帧率
2025-06-08 13:04:13 -04:00

84 lines
2.9 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using DG.Tweening;
using Ichni.Editor;
using Michsky.MUIP;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace Ichni.StartMenu
{
public partial class EditorSettingsPage : StartMenuPage
{
public EditorSettings editorSettings;
public TMP_InputField autoSaveIntervalInputField, autoSaveCountInputField;
public SliderManager musicVolumeSlider, sfxVolumeSlider;
public SliderManager frameRateSlider;
public Button exitButton;
private void InitializePage()
{
EditorSettings.LoadSettings(ref editorSettings);
autoSaveIntervalInputField.text = editorSettings.autoSaveInterval.ToString();
autoSaveCountInputField.text = editorSettings.maximumAutoSaveCount.ToString();
musicVolumeSlider.mainSlider.value = editorSettings.musicVolume;
sfxVolumeSlider.mainSlider.value = editorSettings.soundFXVolume;
frameRateSlider.mainSlider.value = editorSettings.frameRate;
}
}
public partial class EditorSettingsPage
{
protected override void InitializeAnimations()
{
fadeIn = DOTween.Sequence();
fadeOut = DOTween.Sequence();
fadeIn.Join(canvasGroup.DOFade(1f, 0.5f))
.SetEase(Ease.InOutQuad)
.SetAutoKill(false)
.OnStart(InitializePage)
.OnComplete(() =>
{
canvasGroup.interactable = true;
canvasGroup.blocksRaycasts = true;
}).Pause();
fadeOut.Join(canvasGroup.DOFade(0f, 0.5f))
.SetEase(Ease.InOutQuad)
.SetAutoKill(false)
.OnPlay(() =>
{
canvasGroup.interactable = false;
canvasGroup.blocksRaycasts = false;
})
.OnComplete(() =>
{
StartMenuManager.instance.startPage.fadeIn.Restart();
})
.Pause();
}
protected override void InitializeUI()
{
exitButton.onClick.AddListener(() =>
{
SetSettings();
fadeOut.Restart();
});
}
private void SetSettings()
{
editorSettings.autoSaveInterval = int.Parse(autoSaveIntervalInputField.text);
editorSettings.maximumAutoSaveCount = int.Parse(autoSaveCountInputField.text);
editorSettings.musicVolume = (int)musicVolumeSlider.mainSlider.value;
editorSettings.soundFXVolume = (int)sfxVolumeSlider.mainSlider.value;
editorSettings.frameRate = (int)frameRateSlider.mainSlider.value;
EditorSettings.SaveSettings(editorSettings);
}
}
}