forked from LeenkxTeam/LNXSDK
39 lines
730 B
Haxe
39 lines
730 B
Haxe
package leenkx.logicnode;
|
|
|
|
import iron.object.Object;
|
|
|
|
class GetParticleNode extends LogicNode {
|
|
|
|
public function new(tree: LogicTree) {
|
|
super(tree);
|
|
}
|
|
|
|
override function get(from: Int): Dynamic {
|
|
var object: Object = inputs[0].get();
|
|
|
|
if (object == null) return null;
|
|
|
|
#if lnx_particles
|
|
|
|
var mo = cast(object, iron.object.MeshObject);
|
|
|
|
switch (from) {
|
|
case 0:
|
|
var names: Array<String> = [];
|
|
if (mo.particleSystems != null)
|
|
for (psys in mo.particleSystems)
|
|
names.push(@:privateAccess psys.r.name);
|
|
return names;
|
|
case 1:
|
|
return mo.particleSystems != null ? mo.particleSystems.length : 0;
|
|
case 2:
|
|
return mo.render_emitter;
|
|
default:
|
|
null;
|
|
}
|
|
#end
|
|
|
|
return null;
|
|
}
|
|
}
|