设置页面
This commit is contained in:
81
Assets/Scripts/StartMenu/EditorSettingsPage.cs
Normal file
81
Assets/Scripts/StartMenu/EditorSettingsPage.cs
Normal file
@@ -0,0 +1,81 @@
|
||||
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 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;
|
||||
}
|
||||
}
|
||||
|
||||
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.SaveSettings(editorSettings);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user