wangguan
2020-12-05 afc8dfa9a8bba205919489b6a348c6db812b4468
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;
            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();
                    }
                }
            }
        }