OvertakingLegend/Assets/UIFrameWork/Script/SetUpUI.cs

147 lines
4.6 KiB
C#

using BX;
using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 设置面板
/// </summary>
public class SetUpUI : UIBaseClass
{
/// <summary>
/// 关闭按钮
/// </summary>
public Button closeBtn;
public Image voiceIcon;
public Image shankIcon;
public Image musicIcon;
public Button voiceBtn;
public Button shankBtn;
public Button musicBtn;
public Slider voiceSlider;
public Slider shankSlider;
public Slider musicSlider;
private bool isVoice;
private bool isMusic;
private bool isShank;
public Button infoBtn;
private void Start()
{
CloseBtnListener();
VoiceBtnListener();
MusicBtnListener();
ShankBtnListener();
InfoBtnListener();
}
public override void OnShow()
{
base.OnShow();
voiceSlider.value = UserDataManager.Instance.userData.soundSwitchData.isOpenSEMusic ? 1 : 0;
isVoice = UserDataManager.Instance.userData.soundSwitchData.isOpenSEMusic;
musicSlider.value = UserDataManager.Instance.userData.soundSwitchData.isOpenBKMusic ? 1 : 0;
isMusic = UserDataManager.Instance.userData.soundSwitchData.isOpenBKMusic;
shankSlider.value = UserDataManager.Instance.userData.soundSwitchData.isOpenShake ? 1 : 0;
isShank = UserDataManager.Instance.userData.soundSwitchData.isOpenShake;
SetIcon();
}
/// <summary>
/// 设置图片
/// </summary>
public void SetIcon()
{
voiceIcon.sprite = UserDataManager.Instance.userData.soundSwitchData.isOpenSEMusic ? YooAssetManager.Instance.LoadAssetSync<Sprite>(PackagesName.GameData, "SetUpOpen"): YooAssetManager.Instance.LoadAssetSync<Sprite>(PackagesName.GameData, "SetUpHide");
shankIcon.sprite = UserDataManager.Instance.userData.soundSwitchData.isOpenShake ? YooAssetManager.Instance.LoadAssetSync<Sprite>(PackagesName.GameData, "SetUpOpen"): YooAssetManager.Instance.LoadAssetSync<Sprite>(PackagesName.GameData, "SetUpHide");
musicIcon.sprite = UserDataManager.Instance.userData.soundSwitchData.isOpenBKMusic ? YooAssetManager.Instance.LoadAssetSync<Sprite>(PackagesName.GameData, "SetUpOpen"): YooAssetManager.Instance.LoadAssetSync<Sprite>(PackagesName.GameData, "SetUpHide");
}
/// <summary>
/// 关闭按钮逻辑
/// </summary>
private void CloseBtnListener()
{
closeBtn.onClick.AddListener(() =>
{
HideMe();
});
}
/// <summary>
/// Info监听
/// </summary>
private void InfoBtnListener()
{
infoBtn.onClick.AddListener(() =>
{
BXSdk.Instance.OpenPrivacyURL("https://www.game.pricacy");
});
}
/// <summary>
/// 音效按钮监听
/// </summary>
private void VoiceBtnListener()
{
voiceBtn.onClick.AddListener(() =>
{
isVoice = !isVoice;
UserDataManager.Instance.userData.soundSwitchData.SetIsOpenSEMusic(isVoice);
float value=isVoice?0:1;
float end = isVoice ?1:0;
DOTween.To(() => value, x => value = x, end, 0.3f).OnUpdate(() =>
{
voiceSlider.value = value;
}).SetUpdate(true);
SetIcon();
});
}
/// <summary>
/// 背景音乐按钮监听
/// </summary>
private void MusicBtnListener()
{
musicBtn.onClick.AddListener(() =>
{
isMusic = !isMusic;
UserDataManager.Instance.userData.soundSwitchData.SetIsOpenBKMusic(isMusic);
AudioManager.Instance.SetBkMusicClip();
float value = isMusic ? 0 : 1;
float end = isMusic ? 1 : 0;
DOTween.To(() => value, x => value = x, end, 0.3f).OnUpdate(() =>
{
musicSlider.value = value;
}).SetUpdate(true);
SetIcon();
});
}
/// <summary>
/// 震动按钮监听
/// </summary>
private void ShankBtnListener()
{
shankBtn.onClick.AddListener(() =>
{
isShank = !isShank;
UserDataManager.Instance.userData.soundSwitchData.SetIsOpenShake(isShank);
float value = isShank ? 0 : 1;
float end = isShank ? 1 : 0;
DOTween.To(() => value, x => value = x, end, 0.3f).OnUpdate(() =>
{
shankSlider.value = value;
}).SetUpdate(true);
SetIcon();
});
}
}