From afc8dfa9a8bba205919489b6a348c6db812b4468 Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Sat, 05 Dec 2020 14:28:59 +0800 Subject: [PATCH] 修改排行榜,展示动效 --- Assets/Scripts/UI/FinalPanel/FinalPanel.cs | 94 +++++++++++++++++++++-------------------------- 1 files changed, 42 insertions(+), 52 deletions(-) diff --git a/Assets/Scripts/UI/FinalPanel/FinalPanel.cs b/Assets/Scripts/UI/FinalPanel/FinalPanel.cs index 66d5534..a373cbd 100644 --- a/Assets/Scripts/UI/FinalPanel/FinalPanel.cs +++ b/Assets/Scripts/UI/FinalPanel/FinalPanel.cs @@ -69,6 +69,8 @@ TextMeshProUGUI rankUpbj; GameObject newPlayerImage;//新用户提示 + GameObject httpCountDownPanel; + /// <summary> /// 入口函数 /// </summary> @@ -78,6 +80,7 @@ { _waveInfo = waveInfo; _myScore = myScore; + isFirstStart = true;//首次启动下载到数据执行动效 _data = new SmallList<FinalPanelItemData>(); Debug.Log($"_myScore:{_myScore} _waveInfo:{_waveInfo}"); @@ -125,9 +128,9 @@ _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; httpCountDownPanel.SetActive(false); @@ -172,62 +175,15 @@ private void StartHttp() { - //OpenHttpCountDown(true); Debug.Log($"_myScore:{_myScore} _waveInfo:{_waveInfo}"); finalHttp.SendPost(playerNickName, _myScore, 1, _waveInfo); - } - - #region 联网倒计时判断 - bool isSending; - int sendCount; - GameObject httpCountDownPanel; - 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 > 10) - { - Debug.Log("等了10秒了,连接失败"); - if (!httpCountDownPanel.activeSelf) httpCountDownPanel.SetActive(true); - - isSending = false; - - 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) @@ -238,6 +194,7 @@ } PlayDoTween(); + isFirstStart = false; } private void PlayDoTween() @@ -309,8 +266,18 @@ if (_data.Count > 0) { scrollerCanvasGroup.alpha = 1; - itemCanvasGroup.alpha = 1; + Debug.Log("开始展示排行榜"); + } + itemCanvasGroup.alpha = 1; + float duration = 0.1f; + for (int i = 0; i < playPSItem.Count; i++) + { + playPSItem[i].PlayDoTween(duration); + yield return new WaitForSeconds(duration); + } + if (playPSItem.Count > 0) + { image_HScore.SetActive(true); } @@ -427,6 +394,8 @@ } List<HttpGetInfo> _allHttpGetInfoLis; + List<FinalPanelItem> playPSItem;//特效list + bool isFirstStart; private void RefreshHttpData(List<HttpGetInfo> allHttpGetInfoLis, int myrank, HttpGetInfo mydataHttpInfo) { _allHttpGetInfoLis = allHttpGetInfoLis; @@ -469,6 +438,9 @@ data.index = 1; itemFirst.gameObject.SetActive(true); itemFirst.SetData(data); + itemFirst.SetPos(); + if (isFirstStart) + playPSItem.Add(itemFirst); //itemFirst.CheckRank(tmpRankUp); } else @@ -485,6 +457,9 @@ data.index = 2; itemSecond.gameObject.SetActive(true); itemSecond.SetData(data); + itemSecond.SetPos(); + if (isFirstStart) + playPSItem.Add(itemSecond); //itemFirst.CheckRank(tmpRankUp); } else @@ -500,6 +475,9 @@ data.index = 3; itemThird.gameObject.SetActive(true); itemThird.SetData(data); + itemThird.SetPos(); + if (isFirstStart) + playPSItem.Add(itemThird); //itemFirst.CheckRank(tmpRankUp); } else @@ -518,6 +496,18 @@ _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(); + } + } + } } -- Gitblit v1.9.1