| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- using UnityEngine.SceneManagement;
- /* 动物关卡结算界面 */
- public class HunterGameSettleView : MonoBehaviour
- {
- // Start is called before the first frame update
- void Start()
- {
- ChallengeGameMode gameMode = (ChallengeGameMode) GameMgr.ins.gameMode;
- string res = gameMode.Settle()[0].ToString();
- if (res == "胜利") {
- #region
- if (GlobalData.pkMatchType == PKMatchType.None && !UserSettings.ins.trainMode) {
- LoginMgr.myUserInfo.SetChallengeLevelPass(GameMgr.gameType, gameMode.currentlevel);
- LoginMgr.myUserInfo.Save();
- }
- #endregion
- this.transform.Find("Fail").gameObject.SetActive(false);
- AudioMgr.ins.PlayWin();
- }
- else if (res == "失败") {
- this.transform.Find("Win").gameObject.SetActive(false);
- }
- this.transform.Find("Btns/Btn1").GetComponent<Button>().onClick.AddListener(TryAgain);
- this.transform.Find("Btns/Btn3").GetComponent<Button>().onClick.AddListener(BackHome);
- CheckOpenNextLevelBtn(gameMode, res);
- if (GlobalData.pkMatchType == PKMatchType.OnlinePK && res == "胜利") {
- ChallengeGameModeLocalPK gm = (ChallengeGameModeLocalPK)gameMode;
- HunterGamePlayerScoreCounter counter = gm.getHunterGamePlayerScoreCounter();
- int gameRes = 2; //平局
- if (counter.hitScores[0] > counter.hitScores[1]) {
- gameRes = 0; //玩家1胜利
- } else if (counter.hitScores[1] > counter.hitScores[0]) {
- gameRes = 1; //玩家2胜利
- }
- try {
- RankComp.Instance.uploadPKGameRes(gameRes);
- } catch (System.Exception e) { Debug.LogError(e.Message); }
- }
- if (GlobalData.pkMatchType == PKMatchType.OnlinePK) {
- if (SocketPlayer.ins) SocketPlayer.ins.isGameOver = true;
- }
- SimulateMouseController.ins?.AddOpenLocker("NotGame");
- GameOverInterface.OnGameOver(GameMgr.gameType);
- }
- void CheckOpenNextLevelBtn(ChallengeGameMode gameMode, string gameRes) {
- Transform btnT = this.transform.Find("Btns/Btn2");
- if (GlobalData.pkMatchType != PKMatchType.None) {
- btnT.gameObject.SetActive(false);
- return;
- }
- bool open = gameRes == "胜利" && gameMode.currentlevel < 5;
- btnT.gameObject.SetActive(open);
- if (open) {
- btnT.GetComponent<Button>().onClick.AddListener(delegate() {
- ChallengeGameMode.enterNextLevel = (gameMode.currentlevel + 1).ToString();
- TryAgain();
- });
- }
- }
- JCUnityLib.Throttler throttlerTryAgainOnline = new JCUnityLib.Throttler(3000);
- public void TryAgain() {
- AudioMgr.ins.PlayBtn();
- if (GameAssistUI.ins) GameAssistUI.ins.recordPlayerRecordsWhenGameTryAgain();
- if (GlobalData.pkMatchType == PKMatchType.OnlinePK) {
- if (throttlerTryAgainOnline.CanPass() == false) {
- PopupMgr.ins.ShowTip(TextAutoLanguage2.GetTextByCNKey("操作过于频繁"));
- return;
- }
- PKMatchingView view = PKMatchingView.Create();
- view.InitForInviterToTryAgain();
- view.eventOnRejectPKInvite += () => {
- view.banBackBtnLogic = true;
- DoTweenUtil.CallDelay(2f, GoHomeLogic);
- };
- } else {
- if (GlobalData.pkMatchType == PKMatchType.None) {
- if (ChallengeGameMode.enterNextLevel == null) {
- ChallengeGameMode.enterNextLevel = (GameMgr.ins.gameMode as ChallengeGameMode).currentlevel.ToString();
- }
- }
- SceneManager.LoadScene("GameChallenge", LoadSceneMode.Single);
- //这里设置需要播放开始音效
- AudioMgr.bNeedPlayStartAudio = true;
- }
- }
- public void BackHome() { //现在的逻辑是返回上一页 2022-10-8
- AudioMgr.ins.PlayBtn();
- //240716 更改为点击‘返回上一页’,先进入运动结算页面后,返回到主界面。以减少用户对左上角返回键的操作(太边缘了)
- GoHomeLogic();
- //if (GlobalData.pkMatchType == PKMatchType.None) {
- // SceneManager.LoadScene("GameChallenge", LoadSceneMode.Single);
- //} else {
- // GoHomeLogic();
- //}
- }
- private void GoHomeLogic() {
- ChallengeGameMode gameMode = (ChallengeGameMode)GameMgr.ins.gameMode;
- gameMode.gameMgr.userGameAnalyse.showResultView(() => {
- SceneManager.LoadScene("Home", LoadSceneMode.Single);
- });
- //SceneManager.LoadScene("Home", LoadSceneMode.Single);
- // HomeMgr.DestroyCacheViews();
- }
- }
|