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