chicken_dy/Assets/Scripts/UI/PanelResult.cs

257 lines
8.0 KiB
C#
Raw Normal View History

2022-02-09 11:36:47 +00:00
using System;
using System.Collections;
using System.Collections.Generic;
2022-08-08 12:14:47 +00:00
2022-02-09 11:36:47 +00:00
using UnityEngine;
using UnityEngine.UI;
2022-08-08 12:14:47 +00:00
#if H5_DY
using StarkSDKSpace;
#endif
2022-02-09 11:36:47 +00:00
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;
2022-04-01 14:07:21 +00:00
[SerializeField] GameObject mGobLoseBtns;
2022-02-09 11:36:47 +00:00
2022-02-10 10:17:22 +00:00
[SerializeField] GameObject mGobFx;
2022-04-01 14:07:21 +00:00
[SerializeField] Button mBtnLevel;
2022-08-03 08:14:00 +00:00
[SerializeField] Button mBtnShareResult;
2022-04-01 14:07:21 +00:00
2022-02-09 11:36:47 +00:00
[SerializeField] Button mBtnAgain1;
[SerializeField] Button mBtnNext;
[SerializeField] Button mBtnChoose;
2022-08-08 12:14:47 +00:00
[SerializeField] Button mBtnSuccShare;
2022-02-09 11:36:47 +00:00
2022-04-01 14:07:21 +00:00
[SerializeField] Button mBtnAgain2;
[SerializeField] Button mBtnTip;
[SerializeField] Button mBtnSkip;
2022-08-03 08:14:00 +00:00
[SerializeField] Button mBtnShareSkip;
2022-04-01 14:07:21 +00:00
2022-02-09 11:36:47 +00:00
[SerializeField] ButtonEndings mBtnEndings;
2022-05-31 15:14:44 +00:00
public bool ReviewShowed = false;
2022-02-16 11:41:50 +00:00
2022-02-09 11:36:47 +00:00
private void Awake()
{
2022-04-01 14:07:21 +00:00
UIUtils.BindBtn(mBtnLevel, OnClickChoose, AudioClipType.Click_Normal);
2022-08-03 08:14:00 +00:00
UIUtils.BindBtn(mBtnShareResult, OnClickShareResult, AudioClipType.Click_Normal);
2022-04-01 14:07:21 +00:00
UIUtils.BindBtn(mBtnAgain1, OnClickAgain, AudioClipType.Click_Normal);
UIUtils.BindBtn(mBtnNext, OnClickNext, AudioClipType.Click_Normal);
UIUtils.BindBtn(mBtnChoose, OnClickChoose, AudioClipType.Click_Normal);
2022-08-08 12:14:47 +00:00
UIUtils.BindBtn(mBtnSuccShare, OnClickSuccShare, AudioClipType.Click_Normal);
2022-02-09 11:36:47 +00:00
2022-04-01 14:07:21 +00:00
UIUtils.BindBtn(mBtnAgain2, OnClickAgain, AudioClipType.Click_Normal);
UIUtils.BindBtn(mBtnTip, OnClickEndings, AudioClipType.Click_Normal);
UIUtils.BindBtn(mBtnSkip, OnClickSkip, AudioClipType.Click_Normal);
2022-08-03 08:14:00 +00:00
UIUtils.BindBtn(mBtnShareSkip, OnClickShareSkip, AudioClipType.Click_Normal);
2022-04-01 14:07:21 +00:00
mBtnEndings.DelClick = OnClickShowEndingsDirectly;
2022-08-08 12:14:47 +00:00
2022-08-09 03:21:40 +00:00
2022-08-08 12:14:47 +00:00
#if H5_DY
2022-08-09 03:21:40 +00:00
string platform = StarkSDK.API.GetSystemInfo().platform;
2022-08-08 12:14:47 +00:00
if (platform != null && platform.ToLower().Contains("ios"))
{
mBtnSuccShare.gameObject.SetActive(false);
}
else
{
mBtnSuccShare.gameObject.SetActive(true);
}
mBtnShareResult.gameObject.SetActive(false);
#else
2022-08-09 03:21:40 +00:00
mBtnSuccShare.gameObject.SetActive(false);
2022-08-08 12:14:47 +00:00
mBtnShareResult.gameObject.SetActive(true);
#endif
2022-02-09 11:36:47 +00:00
}
2022-02-10 10:17:22 +00:00
public override void OnFocus(bool pFocus)
{
base.OnFocus(pFocus);
mGobFx.SetActive(pFocus);
}
2022-02-14 10:38:47 +00:00
public void Init(int pLevelID, string pEndingName, bool pIsWin, bool pNextLevelClear, bool pHasNew = false, bool pHasComplete = false)
2022-02-09 11:36:47 +00:00
{
mTxtEndingName.text = pEndingName;
mGobWinTitle.SetActive(pIsWin);
mGobLoseTitle.SetActive(!pIsWin);
mGobWinFace.SetActive(pIsWin);
mGobLoseFace.SetActive(!pIsWin);
2022-04-01 14:07:21 +00:00
mGobWinBtns.SetActive(pIsWin);
mGobLoseBtns.SetActive(!pIsWin);
mBtnNext.gameObject.SetActive(!pNextLevelClear);
mBtnChoose.gameObject.SetActive(pNextLevelClear);
mBtnSkip.gameObject.SetActive(PlayerData.Instance.CurrentLevel >= PlayerData.Instance.UnlockedLevel);
2022-08-03 08:14:00 +00:00
mBtnShareSkip.gameObject.SetActive(PlayerData.Instance.CurrentLevel >= PlayerData.Instance.UnlockedLevel);
2022-05-31 15:14:44 +00:00
if (mBtnSkip.gameObject.activeSelf)
{
2022-07-27 02:30:05 +00:00
//TKGSDKManager.Instance.LogRewardAdBtnShow(Const.AdsEvtValue.EndSkip);
2022-05-31 15:14:44 +00:00
}
2022-02-09 12:07:40 +00:00
2022-08-03 08:14:00 +00:00
if(TKGSDKManager.Instance.GetRewardWay() == TKGSDKManager.WayOfReward.Share)
{
mBtnShareSkip.gameObject.SetActive(true);
mBtnSkip.gameObject.SetActive(false);
}
else if (TKGSDKManager.Instance.GetRewardWay() == TKGSDKManager.WayOfReward.RewardAd)
{
mBtnShareSkip.gameObject.SetActive(false);
mBtnSkip.gameObject.SetActive(true);
}
2022-02-09 12:07:40 +00:00
LevelData tLvData = GameConfig.Instance.GetLevelData(pLevelID);
mBtnEndings.Init(pLevelID, PlayerData.Instance.EndingCountOfLevel(pLevelID), tLvData.Endings.Count);
2022-02-14 10:38:47 +00:00
if (pHasNew)
{
if (pHasComplete)
{
TimerManager.Instance.Schedule(() => mBtnEndings.ShowComplete(true), 0.7f);
}
else
{
TimerManager.Instance.Schedule(() => mBtnEndings.ShowNew(true), 0.7f);
}
}
else
{
2022-02-14 11:17:52 +00:00
mBtnEndings.ShowTip(!pIsWin && !pHasComplete);
2022-02-14 10:38:47 +00:00
}
2022-08-17 08:22:09 +00:00
Debug.Log("Panel Result, levelId : " + pLevelID);
if(pLevelID > 0)
{
Debug.Log("pLevelID > 0 才展示插屏");
TKGSDKManager.Instance.ShowInterstitialAd(TKGIVAdPositionName.resultpanel);
}
2022-02-09 11:36:47 +00:00
}
private void OnClickAgain()
{
2022-07-27 02:30:05 +00:00
//TKGSDKManager.Instance.LogEvent(Const.AdsEvent.EndRetry, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
2022-02-16 11:41:50 +00:00
2022-02-09 11:36:47 +00:00
DelAgain?.Invoke();
2022-02-16 11:41:50 +00:00
2022-05-31 15:14:44 +00:00
if (!ReviewShowed)
2022-02-16 11:41:50 +00:00
{
2022-08-17 08:22:09 +00:00
//TKGSDKManager.Instance.ShowInterstitialAd(TKGIVAdPositionName.end_game_retry);
2022-02-16 11:41:50 +00:00
}
2022-02-09 11:36:47 +00:00
}
private void OnClickNext()
{
2022-07-27 02:30:05 +00:00
//TKGSDKManager.Instance.LogEvent(Const.AdsEvent.EndNext, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
2022-02-16 11:41:50 +00:00
2022-02-09 12:28:20 +00:00
GameManager.Instance.NextLevel();
2022-02-15 10:59:36 +00:00
2022-05-31 15:14:44 +00:00
if (!ReviewShowed)
2022-02-16 11:41:50 +00:00
{
2022-08-17 08:22:09 +00:00
//TKGSDKManager.Instance.ShowInterstitialAd(TKGIVAdPositionName.end_game_next);
2022-02-16 11:41:50 +00:00
}
2022-02-09 11:36:47 +00:00
}
private void OnClickChoose()
{
2022-07-27 02:30:05 +00:00
//TKGSDKManager.Instance.LogEvent(Const.AdsEvent.EndSelect, Const.AdsEvtID.Level, PlayerData.Instance.CurrentLevel.ToString());
2022-02-16 11:41:50 +00:00
2022-02-10 09:21:59 +00:00
PanelLevel tUILevel = UIManager.Instance.OpenUI<PanelLevel>();
tUILevel.Init(true);
2022-02-15 10:59:36 +00:00
2022-05-31 15:14:44 +00:00
if (!ReviewShowed)
2022-02-16 11:41:50 +00:00
{
2022-08-17 08:22:09 +00:00
//TKGSDKManager.Instance.ShowInterstitialAd(TKGIVAdPositionName.end_game_select);
2022-02-16 11:41:50 +00:00
}
2022-02-09 11:36:47 +00:00
}
2022-08-08 12:14:47 +00:00
private void OnClickSuccShare()
{
TKGSDKManager.Instance.ScreenRecordingLogic(TKGSDKManager.SCLCategory., "share title", new List<string>() { "尖叫吧小鸡仔" }, () =>
{
Debug.Log("分享结束 ----");
});
}
2022-08-03 08:14:00 +00:00
private void OnClickShareResult()
{
TKGSDKManager.Instance.ShareShareAppMessageByType(TKGSDKManager.ShareType.ShareAppOriginImg);
}
2022-02-09 11:36:47 +00:00
private void OnClickEndings()
{
2022-08-09 03:21:40 +00:00
if (!PlayerData.Instance.HasWatchedEndingAdTip(GameConfig.Instance.LevelSort[PlayerData.Instance.CurrentLevel - 1], 0))
2022-08-08 12:14:47 +00:00
{
TKGSDKManager.Instance.ShowRewardAd(TKGRVPositionName.RV_GetTips, (_isReward) =>
{
if (_isReward)
{
Debug.Log("CURR LEVEL : " + PlayerData.Instance.CurrentLevel);
PlayerData.Instance.AddEndingAdTip(GameConfig.Instance.LevelSort[PlayerData.Instance.CurrentLevel - 1], 0);
PanelEndings tUIEndings = UIManager.Instance.OpenUI<PanelEndings>();
tUIEndings.Init(PlayerData.Instance.CurrentLevelID);
}
});
}
else
{
PanelEndings tUIEndings = UIManager.Instance.OpenUI<PanelEndings>();
tUIEndings.Init(PlayerData.Instance.CurrentLevelID);
}
2022-02-09 11:36:47 +00:00
}
2022-04-01 14:07:21 +00:00
private void OnClickShowEndingsDirectly()
{
PanelEndings tUIEndings = UIManager.Instance.OpenUI<PanelEndings>();
tUIEndings.Init(PlayerData.Instance.CurrentLevelID);
}
2022-04-01 14:07:21 +00:00
private void OnClickSkip()
{
TKGSDKManager.Instance.ShowRewardAd(TKGRVPositionName.RV_end_skip, (pResult) =>
{
if (pResult)
{
PlayerData.Instance.UnlockNewLevel();
GameManager.Instance.NextLevel();
}
});
2022-07-27 02:30:05 +00:00
//PlayerData.Instance.UnlockNewLevel();
//GameManager.Instance.NextLevel();
2022-04-01 14:07:21 +00:00
}
2022-08-03 08:14:00 +00:00
private void OnClickShareSkip()
{
TKGSDKManager.Instance.ShareShareAppMessageByType(TKGSDKManager.ShareType.ShareAppFixedImg);
Invoke("RewardSucc", 0.5f);
}
private void RewardSucc()
{
PlayerData.Instance.UnlockNewLevel();
GameManager.Instance.NextLevel();
}
2022-02-09 11:36:47 +00:00
}