hch
2025-11-20 ed98029a88cd89702980ac7c40b711afddc5aeb2
Main/System/Battle/BattleTweenMgr.cs
@@ -7,10 +7,13 @@
{
    private BattleField battleField;
    private float speedRatio => battleField.speedRatio;
    private List<Tween> tweenList = new List<Tween>();
    public void Init(BattleField _battleField)
    {
        Release();
        battleField = _battleField;
    }
@@ -44,12 +47,22 @@
        }
        tweenList.Add(tween);
        tween.OnComplete(() =>
        {
        tween.timeScale = speedRatio;
        tween.onComplete += () =>
        {
            tweenList.Remove(tween);
        });
        };
        tween.Play();
    }
    public void OnKillTween(Tween tween)
    {
        tween.Kill();
        if (tween != null && tweenList.Contains(tween))
        {
            tweenList.Remove(tween);
        }
    }
    public void HaveRest()
@@ -63,4 +76,27 @@
        }
        tweenList.Clear();
    }
    public void Release()
    {
        foreach (var tween in tweenList)
        {
            if (tween != null && !tween.IsComplete())
            {
                tween.Kill();
            }
        }
        tweenList.Clear();
    }
    public void SetSpeedRatio(float ratio)
    {
        foreach (var tween in tweenList)
        {
            if (tween != null && !tween.IsComplete())
            {
                tween.timeScale = speedRatio;
            }
        }
    }
}