using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class PanelResult : BasePanel { public Action DelAgain; [SerializeField] Text mTxtEndingName; [SerializeField] GameObject mGobWinTitle; [SerializeField] GameObject mGobLoseTitle; [SerializeField] GameObject mGobWinFace; [SerializeField] GameObject mGobLoseFace; [SerializeField] GameObject mGobWinBtns; [SerializeField] GameObject mGobOtherBtns; [SerializeField] Button mBtnAgain1; [SerializeField] Button mBtnAgain2; [SerializeField] Button mBtnNext; [SerializeField] Button mBtnChoose; [SerializeField] ButtonEndings mBtnEndings; private void Awake() { UIUtils.BindBtn(mBtnAgain1, OnClickAgain); UIUtils.BindBtn(mBtnAgain2, OnClickAgain); UIUtils.BindBtn(mBtnNext, OnClickNext); UIUtils.BindBtn(mBtnChoose, OnClickChoose); mBtnEndings.DelClick = OnClickEndings; } public void Init(int pLevelID, string pEndingName,bool pIsWin, bool pAllLevelClear) { mTxtEndingName.text = pEndingName; mGobWinTitle.SetActive(pIsWin); mGobLoseTitle.SetActive(!pIsWin); mGobWinFace.SetActive(pIsWin); mGobLoseFace.SetActive(!pIsWin); mGobWinBtns.SetActive(!pAllLevelClear && pIsWin); mGobOtherBtns.SetActive(pAllLevelClear || !pIsWin); LevelData tLvData = GameConfig.Instance.GetLevelData(pLevelID); mBtnEndings.Init(pLevelID, PlayerData.Instance.EndingCountOfLevel(pLevelID), tLvData.Endings.Count); } private void OnClickAgain() { DelAgain?.Invoke(); } private void OnClickNext() { GameManager.Instance.NextLevel(); } private void OnClickChoose() { PanelLevel tUILevel = UIManager.Instance.OpenUI(); tUILevel.Init(true); } private void OnClickEndings() { PanelEndings tUIEndings = UIManager.Instance.OpenUI(); tUIEndings.Init(PlayerData.Instance.CurrentLevelID); } }