84 lines
2.9 KiB
C#
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);
|
|
}
|
|
}
|
|
} |