156 lines
3.6 KiB
C#
156 lines
3.6 KiB
C#
// ***********************************************************************
|
|
// Assembly : Game
|
|
// Author : Kimch
|
|
// Created : 2020-09-17
|
|
// Description :
|
|
// Last Modified By :
|
|
// Last Modified On :
|
|
// ***********************************************************************
|
|
// <copyright file= "MenuPanel" company="KUNPO"></copyright>
|
|
// <summary></summary>
|
|
// ***********************************************************************
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace G.UI
|
|
{
|
|
/// <summary>
|
|
/// 暂停界面
|
|
/// </summary>
|
|
public class MenuPanel : KUIWidget
|
|
{
|
|
public class MovesItem : KUIWidget
|
|
{
|
|
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
[KUIFlag]
|
|
Image _imgIcon;
|
|
[KUIFlag]
|
|
TMPro.TextMeshProUGUI _tmpName;
|
|
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
|
|
public override void Refresh()
|
|
{
|
|
if (this.data is ItemMoves item)
|
|
{
|
|
_tmpName.text = item.name;
|
|
IconProxy.Instance.SetSprite(_imgIcon, item.icon);
|
|
}
|
|
}
|
|
|
|
private void Awake()
|
|
{
|
|
SetViewData();
|
|
}
|
|
}
|
|
|
|
#region Field
|
|
|
|
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
|
|
[KUIFlag]
|
|
Button _btnQuit;
|
|
[KUIFlag]
|
|
Button _btnContinue;
|
|
[KUIFlag]
|
|
KUIList __listMoves;
|
|
[KUIFlag]
|
|
Toggle _tgTrackEnemy;
|
|
[KUIFlag]
|
|
Toggle _tgVibrateSwitch;
|
|
[KUIFlag]
|
|
GameObject _goStudy;
|
|
[KUIFlag]
|
|
GameObject _goNoStudy;
|
|
|
|
|
|
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
|
|
#endregion
|
|
|
|
#region Method
|
|
|
|
public override void Refresh()
|
|
{
|
|
__listMoves.Clear();
|
|
|
|
var studiedMoves = MovesShop.Instance.studiedMoves;
|
|
if (studiedMoves.Count > 0)
|
|
{
|
|
foreach (var id in studiedMoves)
|
|
{
|
|
var movesItem = ItemProxy.Instance.GetStaticItem<ItemMoves>(id);
|
|
__listMoves.GetItem().SetData(movesItem);
|
|
}
|
|
_goStudy.SetActive(true);
|
|
_goNoStudy.SetActive(false);
|
|
}
|
|
else
|
|
{
|
|
_goStudy.SetActive(false);
|
|
_goNoStudy.SetActive(true);
|
|
}
|
|
|
|
_tgTrackEnemy.isOn = GameLevel.Instance.autoTrackEnemy;
|
|
_tgVibrateSwitch.isOn = GameLevel.Instance.vibrateSwitch;
|
|
}
|
|
|
|
private void OnQuitBtnClick()
|
|
{
|
|
gameObject.SetActive(false);
|
|
UI_Ingame.Instance.OnClickRestart();
|
|
SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND);
|
|
}
|
|
|
|
private void OnContinueBtnClick()
|
|
{
|
|
gameObject.SetActive(false);
|
|
UI_Ingame.Instance.OnClickContinue();
|
|
PostNotification(GlobalDefine.EVENT_GAME_WINDOW, nameof(MenuPanel), nameof(BattlePanel));
|
|
SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND);
|
|
}
|
|
|
|
private void OnTrackEnemyToggleValueChanged(bool value)
|
|
{
|
|
GameLevel.Instance.autoTrackEnemy = value;
|
|
SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND);
|
|
}
|
|
|
|
private void OnVibrateSwitchToggleValueChanged(bool value)
|
|
{
|
|
GameLevel.Instance.vibrateSwitch = value;
|
|
SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Unity
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
private void Awake()
|
|
{
|
|
SetViewData();
|
|
__listMoves.AddTemplate<MovesItem>(true);
|
|
|
|
_btnQuit.onClick.AddListener(this.OnQuitBtnClick);
|
|
_btnContinue.onClick.AddListener(this.OnContinueBtnClick);
|
|
|
|
_tgTrackEnemy.onValueChanged.AddListener(this.OnTrackEnemyToggleValueChanged);
|
|
_tgVibrateSwitch.onValueChanged.AddListener(this.OnVibrateSwitchToggleValueChanged);
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
Refresh();
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
UnityEngine.Time.timeScale = 0f;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|