From 8795e067a167d174270aa9fb1b411f173b73e177 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Davy=20H=C3=A9lard?= Date: Thu, 18 Jan 2024 18:22:27 +0100 Subject: [PATCH] [Reviewed] [3D particle emitter] Fix a memory leak --- extensions/reviewed/ParticleEmitter3D.json | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/extensions/reviewed/ParticleEmitter3D.json b/extensions/reviewed/ParticleEmitter3D.json index ad35cdd9..0087eae1 100644 --- a/extensions/reviewed/ParticleEmitter3D.json +++ b/extensions/reviewed/ParticleEmitter3D.json @@ -8,7 +8,7 @@ "name": "ParticleEmitter3D", "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/f2e5a34bf465f781866677762d385d6c8e9e8d203383f2df9a3b7e0fad6a2cb5_fire.svg", "shortDescription": "Display a large number of particles to create visual effects.", - "version": "1.1.2", + "version": "1.1.3", "description": [ "Particle emitters can be used to display:", "- Fire", @@ -5325,15 +5325,12 @@ "object.__particleEmitterAdapter = new ParticleEmitterAdapter(particleSystem, colorOverLife, sizeOverLife, applyForce);", "object.__particleSystem = particleSystem;", "", + "// This is a hack that may break in future releases.", + "// Replace the group that would hold children objects by the emmiter.", "const layer = gameScene.getLayer(object.getLayer());", + "layer.getRenderer().remove3DRendererObject(object.getRenderer()._threeGroup);", + "object.getRenderer()._threeGroup = particleSystem.emitter;", "layer.getRenderer().add3DRendererObject(particleSystem.emitter);", - "const ParticleEmitter3D = Object.getPrototypeOf(object);", - "if (!ParticleEmitter3D.__isDefined) {", - " ParticleEmitter3D.__isDefined = true;", - " ParticleEmitter3D.get3DRendererObject = function() {", - " return this.__particleSystem.emitter;", - " };", - "}", "", "// See doStepPostEvents", "gameScene.__particleEmmiter3DExtension = gameScene.__particleEmmiter3DExtension || {};",