You've already forked taptap2024_GJ_chidouren
99 lines
3.5 KiB
C#
99 lines
3.5 KiB
C#
using System;
|
|
using System.AchieveSystem;
|
|
using System.Collections.Generic;
|
|
using Framework.Asset;
|
|
using Framework.Audio;
|
|
using Framework.Save;
|
|
using Game;
|
|
using Game.Component;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
using IcecreamView;
|
|
using TMPro;
|
|
|
|
namespace Views
|
|
{
|
|
public class SettingPanel : IcecreamView.IC_AbstractModule
|
|
{
|
|
[SerializeField] private Button _backBtn;
|
|
[SerializeField] private Button _quitBtn;
|
|
[SerializeField] private Button _aboutBtn;
|
|
[SerializeField] private GameSlider _bgmSlider;
|
|
[SerializeField] private GameSlider _seSlider;
|
|
[SerializeField] private GameSlider _shakeSlider;
|
|
[SerializeField] private TMP_Text _version;
|
|
[SerializeField] private Toggle _shakeToggle;
|
|
[SerializeField] private TMP_Text _shakeToggleTip;
|
|
|
|
|
|
public override void OnInitView()
|
|
{
|
|
this._backBtn.onClick.AddListener(this.ViewConnector.CloseView);
|
|
this._quitBtn.onClick.AddListener(() =>
|
|
{
|
|
this.ViewConnector.CloseView();
|
|
GameManager.Instance.ExitGame();
|
|
});
|
|
this._aboutBtn.onClick.AddListener(OnClick_About);
|
|
this._bgmSlider.OnValueChange += BGMChange;
|
|
this._seSlider.OnValueChange += SEChange;
|
|
this._shakeToggle.isOn = Account.Instance.AccountSystemData.ShakeValue > 0;
|
|
ShakeChange(this._shakeToggle.isOn);
|
|
this._shakeToggle.onValueChanged.AddListener(ShakeChange);
|
|
}
|
|
|
|
private void ShakeChange(bool hasActive)
|
|
{
|
|
Account.Instance.AccountSystemData.ShakeValue = hasActive ? 1 : 0;
|
|
_shakeToggleTip.text = hasActive ? "震动开启" : "震动关闭";
|
|
if (hasActive)
|
|
{
|
|
GameManager.Instance.Vibrator(VibratorScale.Normal);
|
|
}
|
|
}
|
|
|
|
|
|
private void SEChange(float obj)
|
|
{
|
|
AudioManager.Instance.SoundValue = obj * 0.01f;
|
|
}
|
|
|
|
private void BGMChange(float obj)
|
|
{
|
|
AudioManager.Instance.MusicValue = obj * 0.01f;
|
|
}
|
|
|
|
private void OnClick_About()
|
|
{
|
|
// if (GameGlobalConfig.Instance.Channel == GameChannel.Taptap)
|
|
// {
|
|
// LaunchAppUtils.ToTapTapTargetApp ();
|
|
// }
|
|
// else
|
|
// {
|
|
// LaunchAppUtils.ToCommonTargetApp ();
|
|
// }
|
|
AchievementMgr.Instance.Push(AchievementCode.None);
|
|
Debug.Log(AchievementMgr.Instance.GetAchieveCount((int)AchievementCode.None));
|
|
}
|
|
|
|
public override void OnOpenView(IC_ViewData parameters)
|
|
{
|
|
this._bgmSlider.MaxValue = 100;
|
|
this._seSlider.MaxValue = 100;
|
|
// this._shakeSlider.MaxValue = 100;
|
|
this._bgmSlider.ToValue(Account.Instance.AccountSystemData.BGMValue * 100, 0.35f);
|
|
this._seSlider.ToValue(Account.Instance.AccountSystemData.SEValue * 100, 0.35f);
|
|
// this._shakeSlider.ToValue(Account.Instance.AccountSystemData.ShakeValue * 100, 0.35f);
|
|
var assetVersion = AssetManager.GetCurVersion();
|
|
this._version.text
|
|
= string.Format(this._version.text,
|
|
Application.version + $".[{assetVersion}.{(int)GameGlobalConfig.Instance.Channel}]");
|
|
}
|
|
|
|
public override void OnCloseView()
|
|
{
|
|
Account.Instance.Save(SaveData.System);
|
|
}
|
|
}
|
|
} |