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