| | |
| | | |
| | | TextMeshProUGUI rankUpbj; |
| | | GameObject newPlayerImage;//新用户提示 |
| | | GameObject httpCountDownPanel; |
| | | |
| | | /// <summary> |
| | | /// 入口函数 |
| | | /// </summary> |
| | |
| | | { |
| | | _waveInfo = waveInfo; |
| | | _myScore = myScore; |
| | | isFirstStart = true;//首次启动下载到数据执行动效 |
| | | _data = new SmallList<FinalPanelItemData>(); |
| | | Debug.Log($"_myScore:{_myScore} _waveInfo:{_waveInfo}"); |
| | | |
| | |
| | | _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); |
| | |
| | | |
| | | 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) |
| | |
| | | } |
| | | |
| | | PlayDoTween(); |
| | | isFirstStart = false; |
| | | } |
| | | |
| | | private void PlayDoTween() |
| | |
| | | if (_data.Count > 0) |
| | | { |
| | | scrollerCanvasGroup.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); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | List<HttpGetInfo> _allHttpGetInfoLis; |
| | | List<FinalPanelItem> playPSItem;//特效list |
| | | bool isFirstStart; |
| | | private void RefreshHttpData(List<HttpGetInfo> allHttpGetInfoLis, int myrank, HttpGetInfo mydataHttpInfo) |
| | | { |
| | | _allHttpGetInfoLis = allHttpGetInfoLis; |
| | |
| | | data.index = 1; |
| | | itemFirst.gameObject.SetActive(true); |
| | | itemFirst.SetData(data); |
| | | itemFirst.SetPos(); |
| | | if (isFirstStart) |
| | | playPSItem.Add(itemFirst); |
| | | //itemFirst.CheckRank(tmpRankUp); |
| | | } |
| | | else |
| | |
| | | data.index = 2; |
| | | itemSecond.gameObject.SetActive(true); |
| | | itemSecond.SetData(data); |
| | | itemSecond.SetPos(); |
| | | if (isFirstStart) |
| | | playPSItem.Add(itemSecond); |
| | | //itemFirst.CheckRank(tmpRankUp); |
| | | } |
| | | else |
| | |
| | | data.index = 3; |
| | | itemThird.gameObject.SetActive(true); |
| | | itemThird.SetData(data); |
| | | itemThird.SetPos(); |
| | | if (isFirstStart) |
| | | 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(); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |