31 lines
677 B
Haxe
31 lines
677 B
Haxe
package armory.logicnode;
|
|
|
|
import iron.object.Object;
|
|
import iron.Scene;
|
|
|
|
class PlayActionFromNode extends LogicNode {
|
|
|
|
public function new(tree: LogicTree) {
|
|
super(tree);
|
|
}
|
|
|
|
override function run(from: Int) {
|
|
var object: Object = inputs[1].get();
|
|
var action: String = inputs[2].get();
|
|
var startFrame:Int = inputs[3].get();
|
|
var blendTime: Float = inputs[4].get();
|
|
|
|
|
|
if (object == null) return;
|
|
var animation = object.animation;
|
|
if (animation == null) animation = object.getParentArmature(object.name);
|
|
|
|
animation.play(action, function() {
|
|
runOutput(1);
|
|
},blendTime);
|
|
animation.update(startFrame*Scene.active.raw.frame_time);
|
|
|
|
runOutput(0);
|
|
}
|
|
}
|