VectorNode.hx 730 B

12345678910111213141516171819202122232425262728293031323334
  1. package arm.brushnode;
  2. import armory.logicnode.LogicNode;
  3. import armory.logicnode.LogicTree;
  4. import iron.math.Vec4;
  5. @:keep
  6. class VectorNode extends LogicNode {
  7. var value = new Vec4();
  8. public function new(tree:LogicTree, x:Null<Float> = null, y:Null<Float> = null, z:Null<Float> = null) {
  9. super(tree);
  10. if (x != null) {
  11. addInput(new FloatNode(tree, x), 0);
  12. addInput(new FloatNode(tree, y), 0);
  13. addInput(new FloatNode(tree, z), 0);
  14. }
  15. }
  16. override function get(from:Int):Dynamic {
  17. value.x = inputs[0].get();
  18. value.y = inputs[1].get();
  19. value.z = inputs[2].get();
  20. return value;
  21. }
  22. override function set(value:Dynamic) {
  23. inputs[0].set(value.x);
  24. inputs[1].set(value.y);
  25. inputs[2].set(value.z);
  26. }
  27. }