using asap.core; using DG.Tweening; using game; using GameCore; using System.Collections; using System.Collections.Generic; using UnityEngine; public class BonusReward : MonoBehaviour { RewardItemNew[] reward_extra; List showCount = new List(); List showAddCount = new List(); public void Show() { ShowBonusCount(1); } public void Show(int magnification) { ShowBonusCount(magnification); } void ShowBonusCount(int magnification) { reward_extra = GetComponentsInChildren(true); FishingStage fishingStage = GContext.container.ResolveStage("FishingStage") as FishingStage; List itemDatas = fishingStage.q_TargetShowData; int j = 0; if (itemDatas != null) { for (int i = 0; i < itemDatas.Count; i++) { TargetAddData data = itemDatas[i]; if (data.id != 1002 && data.id != 1001) { int count = data.addCount / magnification; showCount.Add(count); showAddCount.Add(data.addCount - count); reward_extra[j].SetData(new ItemData() { id = data.id, count = count }); reward_extra[j].gameObject.SetActive(true); j++; if (j >= reward_extra.Length) { break; } } } } gameObject.SetActive(j > 0); } public void DOTweenAdd(int magnification, float duration) { var progress = 0f; DOTween.To(() => progress, x => progress = x, 1f, duration).OnUpdate(() => { for (int i = 0; i < showCount.Count; i++) { reward_extra[i].text_num.text = $"x{ConvertTools.GetNumberString2((int)(showCount[i] + showAddCount[i] * progress))}"; } }).SetId("AddCash"); } }