From 32cdbd8c54d7e2dce8fbb48c2023957241c6a4d2 Mon Sep 17 00:00:00 2001 From: Onek8 Date: Sun, 1 Jun 2025 22:57:47 +0000 Subject: [PATCH] moisesjpelaez - Physics Private Fields --- .../logicnode/RemoveParticleFromObjectNode.hx | 128 +++++++++--------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/leenkx/Sources/leenkx/logicnode/RemoveParticleFromObjectNode.hx b/leenkx/Sources/leenkx/logicnode/RemoveParticleFromObjectNode.hx index 17f7ef7..573444f 100644 --- a/leenkx/Sources/leenkx/logicnode/RemoveParticleFromObjectNode.hx +++ b/leenkx/Sources/leenkx/logicnode/RemoveParticleFromObjectNode.hx @@ -1,64 +1,64 @@ -package leenkx.logicnode; - -import iron.object.Object; - -class RemoveParticleFromObjectNode extends LogicNode { - - public var property0: String; - - public function new(tree: LogicTree) { - super(tree); - } - - override function run(from: Int) { - #if lnx_particles - var object: Object = inputs[1].get(); - - if (object == null) return; - - var mo = cast(object, iron.object.MeshObject); - - if (mo.particleSystems == null) return; - - if (property0 == 'All'){ - mo.particleSystems = null; - for (c in mo.particleChildren) c.remove(); - mo.particleChildren = null; - mo.particleOwner = null; - mo.render_emitter = true; - } - else { - - var slot: Int = -1; - if (property0 == 'Name'){ - var name: String = inputs[2].get(); - for (i => psys in mo.particleSystems){ - if (psys.r.name == name){ slot = i; break; } - } - } - else slot = inputs[2].get(); - - if (mo.particleSystems.length > slot){ - for (i in slot+1...mo.particleSystems.length){ - var mi = cast(mo.particleChildren[i], iron.object.MeshObject); - mi.particleIndex = mi.particleIndex - 1; - } - mo.particleSystems.splice(slot, 1); - mo.particleChildren[slot].remove(); - mo.particleChildren.splice(slot, 1); - } - - if (slot == 0){ - mo.particleSystems = null; - mo.particleChildren = null; - mo.particleOwner = null; - mo.render_emitter = true; - } - - } - - #end - - runOutput(0); - } -} +package leenkx.logicnode; + +import iron.object.Object; + +class RemoveParticleFromObjectNode extends LogicNode { + + public var property0: String; + + public function new(tree: LogicTree) { + super(tree); + } + + override function run(from: Int) { + #if lnx_particles + var object: Object = inputs[1].get(); + + if (object == null) return; + + var mo = cast(object, iron.object.MeshObject); + + if (mo.particleSystems == null) return; + + if (property0 == 'All'){ + mo.particleSystems = null; + for (c in mo.particleChildren) c.remove(); + mo.particleChildren = null; + mo.particleOwner = null; + mo.render_emitter = true; + } + else { + + var slot: Int = -1; + if (property0 == 'Name'){ + var name: String = inputs[2].get(); + for (i => psys in mo.particleSystems){ + if (@:privateAccess psys.r.name == name){ slot = i; break; } + } + } + else slot = inputs[2].get(); + + if (mo.particleSystems.length > slot){ + for (i in slot+1...mo.particleSystems.length){ + var mi = cast(mo.particleChildren[i], iron.object.MeshObject); + mi.particleIndex = mi.particleIndex - 1; + } + mo.particleSystems.splice(slot, 1); + mo.particleChildren[slot].remove(); + mo.particleChildren.splice(slot, 1); + } + + if (slot == 0){ + mo.particleSystems = null; + mo.particleChildren = null; + mo.particleOwner = null; + mo.render_emitter = true; + } + + } + + #end + + runOutput(0); + } +}