hch
2025-09-17 f306d23e461ab236ed88173f7b4a5bc35a3e9bc9
Main/System/Battle/UIComp/DamageContent.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using UnityEngine;
using System;
using Cysharp.Threading.Tasks;
public class DamageContent : MonoBehaviour
{
@@ -13,13 +14,33 @@
   public PositionTween posTween;
   public ScaleTween scaleTween;
   private BattleDmgInfo battleDmgInfo;
   void Awake()
   {
      line.SetActive(false);
   }
   public void SetDamage(List<long> damages, Action _onComplete)
   public async void SetDamage(BattleDmgInfo _damageInfo, Action _onComplete)
   {
      battleDmgInfo = _damageInfo;
      var damages = battleDmgInfo.battleDamageList;
      for (int i = damages.Count; i < damageLineList.Count; i++)
      {
         damageLineList[i].SetActive(false);
      }
      posTween.Play(_onComplete);
      if (battleDmgInfo.IsCrit())
      {
         scaleTween.Play();
      }
      for (int i = 0; i < damages.Count; i++)
      {
         if (i >= damageLineList.Count)
@@ -29,23 +50,25 @@
         }
         damageLineList[i].SetActive(true);
         damageLineList[i].SetDamage(damages[i]);
         await UniTask.Delay(100);
      }
      for (int i = damages.Count; i < damageLineList.Count; i++)
      {
         damageLineList[i].SetActive(false);
      }
      posTween.Play(_onComplete);
   }
   public void Stop()
   {
      posTween.Stop();
      if (battleDmgInfo.IsCrit())
      {
         scaleTween.Stop();
      }
   }
   public void Resume()
   {
      posTween.Resume();
      if (battleDmgInfo.IsCrit())
      {
         scaleTween.Resume();
      }
   }
}