From d7d30d2e665aa451f8bd3ea3c8b15391b765ccc3 Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Wed, 02 Dec 2020 17:47:42 +0800 Subject: [PATCH] 修改新手引导 修改结算页面使用无限滚动 替换了json --- Assets/Scripts/UI/FinalPanel/FinalPanel.cs | 122 ++++++++++++++++++++++++++++++++-------- 1 files changed, 98 insertions(+), 24 deletions(-) diff --git a/Assets/Scripts/UI/FinalPanel/FinalPanel.cs b/Assets/Scripts/UI/FinalPanel/FinalPanel.cs index 249d208..f68378d 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; @@ -14,16 +15,16 @@ private EnhancedScroller scroller; 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; [SerializeField] private Sprite rank_icon_0, rank_icon_1, rank_icon_2; - public string endlessGameScene = "Endless2D"; + private string endlessGameScene = "Endless2D"; - public string loadingScene = "LoadingScene"; + private string loadingScene = "LoadingScene"; Button closeBtn; // Start is called before the first frame update void Start() @@ -64,6 +65,7 @@ public void SetData(string waveInfo, int myScore) { hScore = PlayerPrefs.GetInt("GemBattleHScore"); + //scrollerCanvasGroup = transform.Find("Scroll View").GetComponent<CanvasGroup>(); scrollerCanvasGroup = transform.Find("Scroller").GetComponent<CanvasGroup>(); if (myScore > hScore) { @@ -78,32 +80,65 @@ waveText = transform.Find("Text_Wave").GetComponent<Text>(); scoreText = transform.Find("Text_Score").GetComponent<Text>(); + scoreText.text = ""; + waveText.text = ""; waveText.gameObject.SetActive(false); scoreText.gameObject.SetActive(false); image_NewRecord = transform.Find("Image_NewRecord").gameObject; image_NewRecord.SetActive(false); + LoadLargeData(hScore); Transform ts = transform.Find("Images"); Sequence agentTweenSeq = DOTween.Sequence(); + //先出现 + Image tsTiele = transform.Find("Image_Tiele").GetComponent<Image>(); + agentTweenSeq.Append(tsTiele.transform.DOScale(Vector3.one, 0.2f));//变化图片大小 + agentTweenSeq.Join(tsTiele.DOFade(1, 0.3f)); - agentTweenSeq.Append(ts.DOScale(Vector3.one, 0.2f));//变化图片大小 + Image Image1 = transform.Find("Image1").GetComponent<Image>(); + agentTweenSeq.Append(Image1.transform.DOScale(Vector3.one, 0.2f));//变化图片大小 + agentTweenSeq.Join(Image1.DOFade(1, 0.2f)); + agentTweenSeq.Join(waveText.DOText(waveInfo, 0.2f)); - agentTweenSeq.Append(ts.DOScale(new Vector3(1.7f, 1.7f, 1.7f), 0.2f));//变化图片大小 - agentTweenSeq.Append(ts.DOScale(Vector3.one, 0.2f));//变化图片大小 - agentTweenSeq.Append(ts.DOScale(new Vector3(1.2f, 1.2f, 1.2f), 0.2f));//变化图片大小 - agentTweenSeq.Append(ts.DOScale(Vector3.one, 0.2f));//变化图片大小 + Image Image2 = transform.Find("Image2").GetComponent<Image>(); + agentTweenSeq.Append(Image2.transform.DOScale(Vector3.one, 0.2f));//变化图片大小 + agentTweenSeq.Join(Image2.DOFade(1, 0.2f)); agentTweenSeq.AppendCallback(StartLoadLargeData); - agentTweenSeq.Append(DOTween.To(delegate (float value) + + Image Image3 = transform.Find("Image3").GetComponent<Image>(); + agentTweenSeq.Append(Image3.transform.DOScale(Vector3.one, 0.2f));//变化图片大小 + agentTweenSeq.Join(Image3.DOFade(1, 0.2f)); + agentTweenSeq.Join(DOTween.To(delegate (float value) { var temp = Math.Floor(value); scoreText.text = temp + ""; - }, 0, myScore, 3.0f)); + }, 0, myScore, 1.0f)); + + tsLight = transform.Find("ImageLight"); + Image ImageLight = tsLight.GetComponent<Image>(); + agentTweenSeq.Join(ImageLight.transform.DOScale(Vector3.one, 0.2f));//变化图片大小 + agentTweenSeq.Join(ImageLight.DOFade(1, 0.2f).OnComplete(RotateLight)); + //agentTweenSeq.AppendCallback(RotateLight); agentTweenSeq.AppendCallback(TextDoTweenFinish); - agentTweenSeq.Append(waveText.DOText(waveInfo, 0.2f)); + } + + bool isRotate = false; + float offect = 0; + /// <summary> + /// LateUpdate is called every frame, if the Behaviour is enabled. + /// It is called after all Update functions have been called. + /// </summary> + void LateUpdate() + { + if (isRotate) + { + offect += Time.deltaTime; + tsLight.localRotation = Quaternion.Euler(0, 0, offect * 30); + } } /// <summary> @@ -112,8 +147,9 @@ protected void StartLoadLargeData() { scoreText.gameObject.SetActive(true); - LoadLargeData(hScore); - StartCoroutine(PlayerItemDoTween()); + scrollerCanvasGroup.alpha = 1; + + //StartCoroutine(PlayerItemDoTween()); } /// <summary> @@ -122,18 +158,24 @@ /// <returns></returns> IEnumerator PlayerItemDoTween() { - yield return 1f; - FinalPanelItem[] allItems = transform.Find("Scroller/Container").GetComponentsInChildren<FinalPanelItem>(); - for (int i = 0; i < allItems.Length; i++) - { - allItems[i].SetPos(); - } + //yield return 1f; + // FinalPanelItem[] allItems = transform.Find("Scroller/Container").GetComponentsInChildren<FinalPanelItem>(); + // for (int i = 0; i < allItems.Length; i++) + // { + // allItems[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); - yield return new WaitForSeconds(0.1f); + allItemLis[i].PlayDoTween(0.1f); + yield return new WaitForSeconds(0.07f); } image_HScore.SetActive(true); @@ -159,6 +201,19 @@ closeBtn.interactable = true; } + Transform tsLight; + /// <summary> + /// 光出现后开始旋转 + /// </summary> + protected void RotateLight() + { + isRotate = true; + offect = 0; + //Transform ImageLight = transform.Find("ImageLight"); + //ImageLight.DORotate(new Vector3(0, 180, 0), 1.0f).SetLoops(-1,LoopType.Incremental); + } + + List<FinalPanelItem> allItemLis;//新生成的排行榜 /// <summary> /// 生成假排行榜 /// </summary> @@ -168,10 +223,19 @@ scroller = transform.Find("Scroller").GetComponent<EnhancedScroller>(); scroller.Delegate = this; _data = new SmallList<FinalPanelItemData>(); + + //Transform content = transform.Find("Scroll View/Viewport/Content"); + //_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 +255,19 @@ _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(); + // for (int i = 0; i < allItemLis.Count; i++) + // { + // allItemLis[i].SetData(_data[i]); + // } + + // for (int i = 0; i < 8; i++) + // { + // allItemLis[i].SetPos(); + // } + } #region EnhancedScroller Handlers @@ -231,7 +306,6 @@ public EnhancedScrollerCellView GetCellView(EnhancedScroller scroller, int dataIndex, int cellIndex) { FinalPanelItem cellView = scroller.GetCellView(cellViewPrefab) as FinalPanelItem; - cellView.SetData(_data[dataIndex]); return cellView; } -- Gitblit v1.9.1