From 67540c27ef9dbc2555050d7295cde19dc3054402 Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Thu, 19 Nov 2020 18:02:53 +0800
Subject: [PATCH] 修改结算页面

---
 Assets/Scripts/UI/FinalPanel/FinalPanel.cs |   54 ++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 40 insertions(+), 14 deletions(-)

diff --git a/Assets/Scripts/UI/FinalPanel/FinalPanel.cs b/Assets/Scripts/UI/FinalPanel/FinalPanel.cs
index 9016240..8bbc324 100644
--- a/Assets/Scripts/UI/FinalPanel/FinalPanel.cs
+++ b/Assets/Scripts/UI/FinalPanel/FinalPanel.cs
@@ -1,4 +1,5 @@
-using System.Collections;
+using System.Collections.Generic;
+using System.Collections;
 using UnityEngine.UI;
 using UnityEngine;
 using EnhancedUI;
@@ -11,10 +12,10 @@
 
 public class FinalPanel : MonoBehaviour, IEnhancedScrollerDelegate
 {
-    private EnhancedScroller scroller;
+    //private EnhancedScroller scroller;
 
-    private SmallList<FinalPanelItemData> _data;
-
+    //private SmallList<FinalPanelItemData> _data;
+    private List<FinalPanelItemData> _data;
     public EnhancedScrollerCellView cellViewPrefab;
     [SerializeField]
     private Sprite rank_di_0, rank_di_1, rank_di_2, rank_di_03;
@@ -64,7 +65,8 @@
     public void SetData(string waveInfo, int myScore)
     {
         hScore = PlayerPrefs.GetInt("GemBattleHScore");
-        scrollerCanvasGroup = transform.Find("Scroller").GetComponent<CanvasGroup>();
+        scrollerCanvasGroup = transform.Find("Scroll View").GetComponent<CanvasGroup>();
+        //scrollerCanvasGroup = transform.Find("Scroller").GetComponent<CanvasGroup>();
         if (myScore > hScore)
         {
             PlayerPrefs.SetInt("GemBattleHScore", myScore);
@@ -123,16 +125,26 @@
     IEnumerator PlayerItemDoTween()
     {
         yield return 1f;
-        FinalPanelItem[] allItems = transform.Find("Scroller/Container").GetComponentsInChildren<FinalPanelItem>();
-        for (int i = 0; i < allItems.Length; i++)
+        // FinalPanelItem[] allItems = transform.Find("Scroller/Container").GetComponentsInChildren<FinalPanelItem>();
+        // for (int i = 0; i < allItems.Length; i++)
+        // {
+        //     allItems[i].SetPos();
+        // }
+        for (int i = 0; i < 8; i++)
         {
-            allItems[i].SetPos();
+            allItemLis[i].SetPos();
         }
+
         yield return new WaitForEndOfFrame();
         scrollerCanvasGroup.alpha = 1;
-        for (int i = 0; i < allItems.Length; i++)
+        // for (int i = 0; i < allItems.Length; i++)
+        // {
+        //     allItems[i].PlayDoTween(0.1f);
+        //     yield return new WaitForSeconds(0.1f);
+        // }
+        for (int i = 0; i < 8; i++)
         {
-            allItems[i].PlayDoTween(0.1f);
+            allItemLis[i].PlayDoTween(0.1f);
             yield return new WaitForSeconds(0.1f);
         }
         image_HScore.SetActive(true);
@@ -159,19 +171,28 @@
         closeBtn.interactable = true;
     }
 
+    List<FinalPanelItem> allItemLis;//新生成的排行榜
     /// <summary>
     /// 生成假排行榜
     /// </summary>
     /// <param name="hScore">自身分数</param>
     private void LoadLargeData(int hScore)
     {
-        scroller = transform.Find("Scroller").GetComponent<EnhancedScroller>();
-        scroller.Delegate = this;
-        _data = new SmallList<FinalPanelItemData>();
+        //scroller = transform.Find("Scroller").GetComponent<EnhancedScroller>();
+        Transform content = transform.Find("Scroll View/Viewport/Content");
+
+        //scroller.Delegate = this;
+        _data = new List<FinalPanelItemData>();
         FinalPanelItemData data;
         int score = 101;
+        GameObject go;
+        FinalPanelItem tmpData;
+        allItemLis = new List<FinalPanelItem>();
         for (var i = 0; i < 100; i++)
         {
+            go = Instantiate(cellViewPrefab.gameObject, content);
+            tmpData = go.GetComponent<FinalPanelItem>();
+            allItemLis.Add(tmpData);
             data = new FinalPanelItemData();
             data.score = score - i;
             data.index = i + 1;
@@ -191,8 +212,13 @@
 
         _data[2].spriteIcon = rank_icon_2;
         _data[2].spriteBackGround = rank_di_2;
+
         // tell the scroller to reload now that we have the data
-        scroller.ReloadData();
+        //scroller.ReloadData();
+        for (int i = 0; i < allItemLis.Count; i++)
+        {
+            allItemLis[i].SetData(_data[i]);
+        }
     }
 
     #region EnhancedScroller Handlers

--
Gitblit v1.9.1