chicken_dy/Assets/Scripts/UI/PanelLevel.cs

61 lines
1.3 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class PanelLevel : BasePanel
{
[SerializeField] Button mBtnBack;
[SerializeField] Button mBtnBackToMain;
[SerializeField] LevelPage mLvPage;
private bool mOpenInLevel = false;
private void Awake()
{
UIUtils.BindBtn(mBtnBack, Close);
UIUtils.BindBtn(mBtnBackToMain, OnClickBackToMain, AudioType.Click_Normal);
mLvPage.DelClickLevel = OnClickLevel;
}
public override void OnOpen()
{
base.OnOpen();
mLvPage.LoadData();
}
public override void OnClose()
{
base.OnClose();
AudioManager.Instance.PlaySound(AudioType.UIClose);
}
public void Init(bool pOpenInLevel)
{
mOpenInLevel = pOpenInLevel;
mBtnBackToMain.gameObject.SetActive(pOpenInLevel);
}
private void OnClickLevel(int pLevelIndex)
{
if (mOpenInLevel && PlayerData.Instance.CurrentLevel == (pLevelIndex + 1))
{
Close();
}
else
{
PlayerData.Instance.CurrentLevel = pLevelIndex + 1;
GameManager.Instance.LoadGame();
AudioManager.Instance.PlaySound(AudioType.StartGame);
}
}
private void OnClickBackToMain()
{
GameManager.Instance.LoadMain();
}
}