From 6b3370251820503f88a7028b790bcd3d4e1a9868 Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Mon, 16 Oct 2023 14:50:32 -0600 Subject: [PATCH] remove tweens of removed props and actors --- src/hollywoo_flixel/HollywooFlixelDSL.kiss | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/hollywoo_flixel/HollywooFlixelDSL.kiss b/src/hollywoo_flixel/HollywooFlixelDSL.kiss index 14c4f25..567ccd1 100644 --- a/src/hollywoo_flixel/HollywooFlixelDSL.kiss +++ b/src/hollywoo_flixel/HollywooFlixelDSL.kiss @@ -53,9 +53,16 @@ (tweenedPositions.remove (dictGet actors actorName))) (super.moveCharacter actorName newPosition newFacing cc)) +(method removeTweensOf [:FlxSprite actorOrProp] + (doFor tween (reverse tweens) + (when (callPrivate tween "isTweenOf" actorOrProp) + (tweens.remove tween)))) + (method &override removeCharacter [actorName :Continuation cc] - (whenLet [tweenedPositions (dictGet tweenedPositionsOfSpritesInScenes sceneKey)] - (tweenedPositions.remove (dictGet actors actorName))) + (let [actor (dictGet actors actorName)] + (removeTweensOf actor) + (whenLet [tweenedPositions (dictGet tweenedPositionsOfSpritesInScenes sceneKey)] + (tweenedPositions.remove actor))) (super.removeCharacter actorName cc)) (method &override addProp [name :Dynamic position :Continuation cc] @@ -65,6 +72,7 @@ (method &override removeProp [name :Continuation cc] (let [prop (dictGet props name)] + (removeTweensOf prop) (whenLet [tweenedPositions (dictGet tweenedPositionsOfSpritesInScenes sceneKey)] (tweenedPositions.remove prop)) (whenLet [overlaidProps (dictGet overlaidPropsInScenes sceneKey)]