chicken_dy/Assets/Scripts/UI/PanelLevel.cs

87 lines
2.5 KiB
C#
Raw Normal View History

2022-02-10 04:26:52 +00:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
2022-02-10 09:21:59 +00:00
using UnityEngine.UI;
2022-02-16 04:11:28 +00:00
using DG.Tweening;
2022-02-10 04:26:52 +00:00
public class PanelLevel : BasePanel
{
2022-02-10 09:21:59 +00:00
[SerializeField] Button mBtnBack;
[SerializeField] Button mBtnBackToMain;
2022-02-13 09:36:12 +00:00
[SerializeField] LevelPage mLvPage;
2022-02-16 04:11:28 +00:00
[SerializeField] RectTransform mRctChicken;
[SerializeField] RectTransform mRctScream;
[SerializeField] GameObject mGobOpMask;
2022-02-10 04:26:52 +00:00
2022-02-10 09:21:59 +00:00
private bool mOpenInLevel = false;
private void Awake()
{
UIUtils.BindBtn(mBtnBack, Close);
UIUtils.BindBtn(mBtnBackToMain, OnClickBackToMain, AudioClipType.Click_Normal);
2022-02-10 09:21:59 +00:00
2022-02-13 09:36:12 +00:00
mLvPage.DelClickLevel = OnClickLevel;
2022-02-10 09:21:59 +00:00
}
2022-02-10 10:17:22 +00:00
public override void OnOpen()
2022-02-10 09:21:59 +00:00
{
base.OnOpen();
2022-02-13 09:36:12 +00:00
mLvPage.LoadData();
mLvPage.PageTo((PlayerData.Instance.CurrentLevel - 1) / mLvPage.CountPerPage, false);
2022-02-16 04:11:28 +00:00
LevelCell tCell = mLvPage.GetCell(PlayerData.Instance.CurrentLevel - 1);
mRctChicken.position = tCell.CurrentSignTrans.position;
mRctChicken.transform.SetParent(tCell.CurrentSignTrans);
mRctScream.gameObject.SetActive(false);
mGobOpMask.SetActive(false);
2022-02-16 11:41:50 +00:00
2022-07-27 02:30:05 +00:00
//TKGSDKManager.Instance.LogEvent(Const.AdsEvent.PanelLevelShowed);
2022-02-10 09:21:59 +00:00
}
2022-02-14 09:14:06 +00:00
public override void OnClose()
{
base.OnClose();
AudioManager.Instance.PlaySound(AudioClipType.UIClose);
2022-07-27 02:30:05 +00:00
//TKGSDKManager.Instance.LogEvent(Const.AdsEvent.PanelLevelBack);
2022-02-14 09:14:06 +00:00
}
2022-02-10 09:21:59 +00:00
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
{
2022-02-16 04:11:28 +00:00
mGobOpMask.SetActive(true);
LevelCell tCell = mLvPage.GetCell(pLevelIndex);
mRctChicken.SetParent(transform);
mRctChicken.DOMove(tCell.CurrentSignTrans.position, 0.5f).SetEase(Ease.Linear);
2022-02-14 09:14:06 +00:00
2022-02-16 04:11:28 +00:00
mRctScream.gameObject.SetActive(true);
mRctScream.position = tCell.transform.position;
AudioManager.Instance.PlaySound(AudioClipType.StartGame);
2022-02-16 04:11:28 +00:00
PlayerData.Instance.CurrentLevel = pLevelIndex + 1;
TimerManager.Instance.Schedule(GameManager.Instance.LoadGame, 1f);
2022-02-10 09:21:59 +00:00
}
}
private void OnClickBackToMain()
{
2022-07-27 02:30:05 +00:00
//TKGSDKManager.Instance.LogEvent(Const.AdsEvent.PanelLevelHome);
2022-02-16 11:41:50 +00:00
2022-02-10 09:21:59 +00:00
GameManager.Instance.LoadMain();
}
2022-02-10 04:26:52 +00:00
}