| | |
| | | closeBtn = transform.Find("BackGround").GetComponent<Button>(); |
| | | closeBtn.onClick.AddListener(() => |
| | | { |
| | | goonText.DOKill(); |
| | | gameObject.SetActive(false); |
| | | GameConfig.NextSceneName = endlessGameScene; |
| | | SceneManager.LoadScene(loadingScene); |
| | |
| | | TextMeshProUGUI txt_HScore, txt_Index; |
| | | |
| | | TextMeshProUGUI rankUpbj; |
| | | GameObject newPlayerImage;//新用户提示 |
| | | GameObject httpCountDownPanel; |
| | | Text goonText; |
| | | |
| | | /// <summary> |
| | | /// 入口函数 |
| | | /// </summary> |
| | |
| | | { |
| | | _waveInfo = waveInfo; |
| | | _myScore = myScore; |
| | | isFirstStart = true;//首次启动下载到数据执行动效 |
| | | _data = new SmallList<FinalPanelItemData>(); |
| | | Debug.Log($"_myScore:{_myScore} _waveInfo:{_waveInfo}"); |
| | | |
| | |
| | | image_NewRecord.SetActive(false); |
| | | |
| | | finalHttp = GetComponent<FinalHttp>(); |
| | | _limit = 10; |
| | | _limitUp = 10; |
| | | _limit = 100; |
| | | _limitUp = 100; |
| | | finalHttp.Init(GetHttpData, _limit);//重置状态,设置回调和拉取的所有数据 |
| | | |
| | | itemFirst = transform.Find("ItemPanel/FinalPanelItemFirst").GetComponent<FinalPanelItem>(); |
| | | itemSecond = transform.Find("ItemPanel/FinalPanelItemSecond").GetComponent<FinalPanelItem>(); |
| | | itemThird = transform.Find("ItemPanel/FinalPanelItemThird").GetComponent<FinalPanelItem>(); |
| | | itemFirst = transform.Find("ItemPanel/ItemMask/FinalPanelItemFirst").GetComponent<FinalPanelItem>(); |
| | | itemSecond = transform.Find("ItemPanel/ItemMask/FinalPanelItemSecond").GetComponent<FinalPanelItem>(); |
| | | itemThird = transform.Find("ItemPanel/ItemMask/FinalPanelItemThird").GetComponent<FinalPanelItem>(); |
| | | |
| | | httpCountDownPanel = transform.Find("HttpCountDownPanel").gameObject; |
| | | countDownReplayBtn = transform.Find("HttpCountDownPanel/ReplayBtn").GetComponent<Button>(); |
| | | countDownTxt = transform.Find("HttpCountDownPanel/WarningTxt").GetComponent<Text>(); |
| | | httpCountDownPanel.SetActive(false); |
| | | |
| | | rankUpbj = transform.Find("Image_HScore/RankUp").GetComponent<TextMeshProUGUI>(); |
| | | newPlayerImage = transform.Find("Image_HScore/NewPlayer").gameObject; |
| | | rankUpbj.gameObject.SetActive(false); |
| | | |
| | | |
| | | endPs = transform.Find("Effect_UI_JieSuanShengLi/03").GetComponent<ParticleSystem>(); |
| | | |
| | | goonText = transform.Find("Image_HScore/GoOnText").GetComponent<Text>(); |
| | | //PlayerPrefs.DeleteKey("GemBattlePlayerNickName"); |
| | | |
| | | playerNickName = PlayerPrefs.GetString(playerPrefs_NickName); |
| | |
| | | } |
| | | else |
| | | { |
| | | newPlayerImage.SetActive(false); |
| | | StartHttp(); |
| | | } |
| | | |
| | |
| | | |
| | | private void StartHttp() |
| | | { |
| | | //OpenHttpCountDown(true); |
| | | Debug.Log($"_myScore:{_myScore} _waveInfo:{_waveInfo}"); |
| | | finalHttp.SendPost(playerNickName, _myScore, 1, _waveInfo); |
| | | } |
| | | |
| | | #region 联网倒计时判断 |
| | | bool isSending; |
| | | int sendCount; |
| | | GameObject httpCountDownPanel; |
| | | Button countDownReplayBtn; |
| | | Text countDownTxt; |
| | | private void OpenHttpCountDown(bool isOn) |
| | | { |
| | | if (isOn) |
| | | { |
| | | isSending = true; |
| | | sendCount = 0; |
| | | StartCoroutine("HttpCountDown"); |
| | | } |
| | | else |
| | | { |
| | | isSending = false; |
| | | StopCoroutine("HttpCountDown"); |
| | | } |
| | | } |
| | | IEnumerator HttpCountDown() |
| | | { |
| | | while (isSending) |
| | | { |
| | | yield return new WaitForSeconds(1.0f); |
| | | sendCount++; |
| | | Debug.Log($"等待了{sendCount}秒"); |
| | | if (sendCount == 3) |
| | | { |
| | | if (!httpCountDownPanel.activeSelf) httpCountDownPanel.SetActive(true); |
| | | if (countDownReplayBtn.gameObject.activeSelf) countDownReplayBtn.gameObject.SetActive(false); |
| | | } |
| | | else if (sendCount > 10) |
| | | { |
| | | Debug.Log("等了10秒了,连接失败"); |
| | | isSending = false; |
| | | countDownTxt.text = "等了10秒了,连接失败"; |
| | | if (!countDownReplayBtn.gameObject.activeSelf) countDownReplayBtn.gameObject.SetActive(true); |
| | | |
| | | countDownReplayBtn.onClick.AddListener(Close); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | private void Close() |
| | | { |
| | | gameObject.SetActive(false); |
| | | GameConfig.NextSceneName = endlessGameScene; |
| | | SceneManager.LoadScene(loadingScene); |
| | | } |
| | | |
| | | private void GetHttpData(List<HttpGetInfo> allHttpGetInfoLis, int myrank, HttpGetInfo mydataHttpInfo) |
| | | { |
| | | scroller = transform.Find("Scroller").GetComponent<EnhancedScroller>(); |
| | | scroller.Delegate = this; |
| | | |
| | | playPSItem = new List<FinalPanelItem>(); |
| | | RefreshHttpData(allHttpGetInfoLis, myrank, mydataHttpInfo); |
| | | |
| | | if (allHttpGetInfoLis == null) return; |
| | | |
| | | txt_Name.text = mydataHttpInfo.nickname; |
| | | txt_HScore.text = mydataHttpInfo.score.ToString(); |
| | | txt_Wave.text = mydataHttpInfo.waveInfo; |
| | | if (allHttpGetInfoLis != null) |
| | | { |
| | | txt_Name.text = mydataHttpInfo.nickname; |
| | | txt_HScore.text = mydataHttpInfo.score.ToString(); |
| | | txt_Wave.text = mydataHttpInfo.waveInfo; |
| | | } |
| | | |
| | | PlayDoTween(); |
| | | isFirstStart = false; |
| | | } |
| | | |
| | | private void PlayDoTween() |
| | |
| | | agentTweenSeq.Join(tsTiele.DOFade(1, 0.3f)); |
| | | |
| | | Image Image1 = transform.Find("Image1").GetComponent<Image>(); |
| | | agentTweenSeq.Append(Image1.transform.DOScale(Vector3.one, 0.2f));//变化图片大小 |
| | | agentTweenSeq.Join(Image1.DOFade(1, 0.2f)); |
| | | float imageTime = 0.3f; |
| | | agentTweenSeq.Append(Image1.transform.DOScale(Vector3.one, imageTime).SetEase(Ease.InOutBack));//变化图片大小 |
| | | agentTweenSeq.Join(Image1.DOFade(1, imageTime)); |
| | | agentTweenSeq.Join(waveText.DOText(_waveInfo, 0.2f)); |
| | | |
| | | Image Image2 = transform.Find("Image2").GetComponent<Image>(); |
| | | agentTweenSeq.Append(Image2.transform.DOScale(Vector3.one, 0.2f));//变化图片大小 |
| | | agentTweenSeq.Join(Image2.DOFade(1, 0.2f)); |
| | | agentTweenSeq.Append(Image2.transform.DOScale(Vector3.one, imageTime).SetEase(Ease.InOutBack));//变化图片大小 |
| | | agentTweenSeq.Join(Image2.DOFade(1, imageTime)); |
| | | |
| | | Image Image3 = transform.Find("Image3").GetComponent<Image>(); |
| | | agentTweenSeq.Append(Image3.transform.DOScale(Vector3.one, 0.2f));//变化图片大小 |
| | | agentTweenSeq.Join(Image3.DOFade(1, 0.2f)); |
| | | agentTweenSeq.Append(Image3.transform.DOScale(Vector3.one, imageTime).SetEase(Ease.InOutBack));//变化图片大小 |
| | | agentTweenSeq.Join(Image3.DOFade(1, imageTime)); |
| | | agentTweenSeq.Join(DOTween.To(delegate (float value) |
| | | { |
| | | var temp = Math.Floor(value); |
| | |
| | | /// <returns></returns> |
| | | IEnumerator PlayerItemDoTween() |
| | | { |
| | | |
| | | yield return new WaitForEndOfFrame(); |
| | | scrollerCanvasGroup.alpha = 1; |
| | | itemCanvasGroup.alpha = 1; |
| | | if (_data.Count > 0) |
| | | { |
| | | scrollerCanvasGroup.alpha = 1; |
| | | Debug.Log("开始展示排行榜"); |
| | | } |
| | | |
| | | image_HScore.SetActive(true); |
| | | if (playPSItem.Count > 0) |
| | | { |
| | | itemCanvasGroup.alpha = 1; |
| | | float duration = 0.1f; |
| | | for (int i = 0; i < playPSItem.Count; i++) |
| | | { |
| | | playPSItem[i].PlayDoTween(duration); |
| | | yield return new WaitForSeconds(duration); |
| | | } |
| | | image_HScore.SetActive(true); |
| | | goonFade = true; |
| | | ShowGoOnText(); |
| | | } |
| | | |
| | | yield break; |
| | | } |
| | | |
| | | bool goonFade; |
| | | private void ShowGoOnText() |
| | | { |
| | | goonText.DOFade(goonFade ? 0 : 1, 0.8f).SetEase(Ease.InOutQuad).OnComplete(ShowGoOnText); |
| | | goonText.transform.DOScale(goonFade ? 0.9f : 1.1f, 0.8f); |
| | | goonFade = !goonFade; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | protected void TextDoTweenFinish() |
| | | { |
| | | waveText.gameObject.SetActive(true); |
| | | if (_allHttpGetInfoLis == null) |
| | | { |
| | | httpCountDownPanel.SetActive(true); |
| | | } |
| | | if (isNewH) |
| | | { |
| | | image_NewRecord.SetActive(true); |
| | |
| | | } |
| | | } |
| | | |
| | | // transform.Find("Image1").gameObject.SetActive(false); |
| | | // transform.Find("Image2").gameObject.SetActive(false); |
| | | // transform.Find("Image3").gameObject.SetActive(false); |
| | | endPs?.Play(); |
| | | |
| | | |
| | | closeBtn.interactable = true; |
| | | } |
| | |
| | | return cellView; |
| | | } |
| | | |
| | | List<HttpGetInfo> _allHttpGetInfoLis; |
| | | List<FinalPanelItem> playPSItem;//特效list |
| | | bool isFirstStart; |
| | | private void RefreshHttpData(List<HttpGetInfo> allHttpGetInfoLis, int myrank, HttpGetInfo mydataHttpInfo) |
| | | { |
| | | _allHttpGetInfoLis = allHttpGetInfoLis; |
| | | if (allHttpGetInfoLis == null) |
| | | { |
| | | httpCountDownPanel.SetActive(true); |
| | | countDownTxt.text = "获取排行榜失败"; |
| | | countDownReplayBtn.onClick.AddListener(Close); |
| | | //httpCountDownPanel.SetActive(true); |
| | | return; |
| | | } |
| | | |
| | | // if (isSending) |
| | | // { |
| | | // OpenHttpCountDown(false); |
| | | // } |
| | | |
| | | FinalPanelItemData data; |
| | | |
| | |
| | | data.index = 1; |
| | | itemFirst.gameObject.SetActive(true); |
| | | itemFirst.SetData(data); |
| | | if (isFirstStart) |
| | | { |
| | | itemFirst.SetPos(); |
| | | playPSItem.Add(itemFirst); |
| | | } |
| | | //itemFirst.CheckRank(tmpRankUp); |
| | | } |
| | | else |
| | |
| | | data.index = 2; |
| | | itemSecond.gameObject.SetActive(true); |
| | | itemSecond.SetData(data); |
| | | if (isFirstStart) |
| | | { |
| | | itemSecond.SetPos(); |
| | | playPSItem.Add(itemSecond); |
| | | } |
| | | //itemFirst.CheckRank(tmpRankUp); |
| | | } |
| | | else |
| | |
| | | data.index = 3; |
| | | itemThird.gameObject.SetActive(true); |
| | | itemThird.SetData(data); |
| | | if (isFirstStart) |
| | | { |
| | | itemThird.SetPos(); |
| | | playPSItem.Add(itemThird); |
| | | } |
| | | //itemFirst.CheckRank(tmpRankUp); |
| | | } |
| | | else |
| | |
| | | _data.Add(data); |
| | | } |
| | | scroller.ReloadData(); |
| | | |
| | | if (isFirstStart) |
| | | { |
| | | Transform container = transform.Find("Scroller/Container"); |
| | | FinalPanelItem[] items = container.GetComponentsInChildren<FinalPanelItem>(); |
| | | for (int i = 0; i < items.Length; i++) |
| | | { |
| | | playPSItem.Add(items[i]); |
| | | items[i].SetPos(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |