From aadc87d78a97bf9cdba51626f66311e1f8705899 Mon Sep 17 00:00:00 2001 From: Syntriax Date: Fri, 20 Feb 2026 11:00:49 +0300 Subject: [PATCH] perf: memory allocation improvements on ITween.LoopIndefinitely method --- Engine.Systems/Tween/TweenExtensions.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Engine.Systems/Tween/TweenExtensions.cs b/Engine.Systems/Tween/TweenExtensions.cs index e0ffc09..8ff8cc3 100644 --- a/Engine.Systems/Tween/TweenExtensions.cs +++ b/Engine.Systems/Tween/TweenExtensions.cs @@ -23,16 +23,17 @@ public static class TweenExtensions public static ITween LoopInfinitely(this ITween tween) { - Tween tweenConcrete = (Tween)tween; - tweenConcrete.OnCompleted.AddListener(_ => - { - tweenConcrete.Reset(); - tweenConcrete.State = TweenState.Playing; - }); - + tween.OnCompleted.AddListener(repeaterDelegate); return tween; } + private static readonly Core.Event.EventHandler repeaterDelegate = sender => + { + Tween tweenConcrete = (Tween)sender; + tweenConcrete.Reset(); + tweenConcrete.State = TweenState.Playing; + }; + public static ITween Ease(this ITween tween, IEasing easing) { Tween tweenConcrete = (Tween)tween;