From 78e14d93c46238881339f33a56c81275c55d5089 Mon Sep 17 00:00:00 2001
From: liuzhiwei <liuzhiwei@qq.com>
Date: Wed, 04 Nov 2020 14:02:54 +0800
Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle into master

---
 Assets/Scripts/TowerDefense/UI/EndlessSettlementPropList.cs |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/EndlessSettlementPropList.cs b/Assets/Scripts/TowerDefense/UI/EndlessSettlementPropList.cs
index e32c86b..25d8d70 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessSettlementPropList.cs
+++ b/Assets/Scripts/TowerDefense/UI/EndlessSettlementPropList.cs
@@ -4,6 +4,7 @@
 using TowerDefense.Level;
 using UnityEngine.UI;
 using Protobuf;
+using DG.Tweening;
 
 /**
  * 无尽模式结算界面列表脚本
@@ -21,12 +22,38 @@
         private string iconPath = "UI/Props/";
 
         private string bgPath = "UI/Props/Di/";
+        private float slowTime = 0.1f;//物品挨个出现频率
+
+        //private float parentHeight;//父物体高度
+        GridLayoutGroup myGroup;
+
+        RectTransform myRect, gridRect;
+
+        /// <summary>
+        /// Awake is called when the script instance is being loaded.
+        /// </summary>
+        void Awake()
+        {
+            //parentHeight = transform.parent.GetComponent<RectTransform>().sizeDelta.y;
+            myGroup = Grid.GetComponent<GridLayoutGroup>();
+            gridRect = Grid.GetComponent<RectTransform>();
+            myRect = GetComponent<RectTransform>();
+        }
 
         /// <summary>
         /// 刷新道具列表
         /// </summary>
         public void RefreshList()
         {
+            Invoke("StartLater", 0.1f);
+
+            // if (Application.platform == RuntimePlatform.WindowsEditor)
+            // {
+            //     Debug.Log(gameObject.activeSelf);
+            //     //UnityEditor.EditorApplication.isPaused = true;
+            // }
+
+            return;
             List<EndlessDrop> list = EndlessDropManager.instance.GetAllObtainedDrop();
 
             for (int i = 0; i < list.Count; ++i)
@@ -45,6 +72,33 @@
             }
         }
 
+        private void StartLater()
+        {
+            StartCoroutine(ShowSlow());
+        }
+
+        IEnumerator ShowSlow()
+        {
+            List<EndlessDrop> list = EndlessDropManager.instance.GetAllObtainedDrop();
+
+            for (int i = 0; i < list.Count; ++i)
+            {
+                if (list[i].Reward.type == CURRENCY.Gold)
+                {
+                    AddItem($"{(int)list[i].Reward.type}");
+                    yield return new WaitForSeconds(slowTime);
+                }
+                else
+                {
+                    for (int j = 0; j < list[i].Reward.count; ++j)
+                    {
+                        AddItem($"{(int)list[i].Reward.type}_{list[i].Reward.id}");
+                        yield return new WaitForSeconds(slowTime);
+                    }
+                }
+            }
+        }
+
         private void AddItem(string resId)
         {
             GameObject item = Instantiate(ItemPrefab);
@@ -56,6 +110,11 @@
             propIcon.SetIcon(iconSp);
             propIcon.SetBg(bgSp);
             item.transform.SetParent(Grid.transform, false);
+
+            if (gridRect.sizeDelta.y > myRect.sizeDelta.y && Grid.transform.childCount % myGroup.constraintCount == 1)
+            {
+                gridRect.DOAnchorPosY(gridRect.sizeDelta.y - myRect.sizeDelta.y + (item.transform as RectTransform).sizeDelta.y, 0.2f);
+            }
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1