new-vector-from-boolean-node
This commit is contained in:
parent
bf2252d09a
commit
538e66e680
36
Sources/armory/logicnode/VectorFromBooleanNode.hx
Normal file
36
Sources/armory/logicnode/VectorFromBooleanNode.hx
Normal file
|
@ -0,0 +1,36 @@
|
|||
package armory.logicnode;
|
||||
|
||||
import iron.math.Vec4;
|
||||
|
||||
class VectorFromBooleanNode extends LogicNode {
|
||||
|
||||
public function new(tree: LogicTree) {
|
||||
super(tree);
|
||||
}
|
||||
|
||||
override function get(from: Int): Dynamic {
|
||||
|
||||
var boolX: Bool = inputs[0].get();
|
||||
var boolNegX: Bool = inputs[1].get();
|
||||
var boolY: Bool = inputs[2].get();
|
||||
var boolNegY: Bool = inputs[3].get();
|
||||
var boolZ: Bool = inputs[4].get();
|
||||
var boolNegZ: Bool = inputs[5].get();
|
||||
|
||||
var vector = new Vec4();
|
||||
|
||||
if (boolX == true) vector.x += 1;
|
||||
|
||||
if (boolNegX == true) vector.x += -1;
|
||||
|
||||
if (boolY == true) vector.y += 1;
|
||||
|
||||
if (boolNegY == true) vector.y += -1;
|
||||
|
||||
if (boolZ == true) vector.z += 1;
|
||||
|
||||
if (boolNegZ == true) vector.z += -1;
|
||||
|
||||
return vector.normalize();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
from arm.logicnode.arm_nodes import *
|
||||
|
||||
class VectorFromBooleanNode(ArmLogicTreeNode):
|
||||
"""Returns a vector depending on the respective boolean state."""
|
||||
bl_idname = 'LNVectorFromBooleanNode'
|
||||
bl_label = 'Vector From Boolean'
|
||||
arm_version = 1
|
||||
|
||||
def init(self, context):
|
||||
super(VectorFromBooleanNode, self).init(context)
|
||||
self.inputs.new('NodeSocketBool', 'X')
|
||||
self.inputs.new('NodeSocketBool', '-X')
|
||||
self.inputs.new('NodeSocketBool', 'Y')
|
||||
self.inputs.new('NodeSocketBool', '-Y')
|
||||
self.inputs.new('NodeSocketBool', 'Z')
|
||||
self.inputs.new('NodeSocketBool', '-Z')
|
||||
|
||||
self.outputs.new('NodeSocketVector', 'Vector')
|
||||
|
||||
add_node(VectorFromBooleanNode, category=PKG_AS_CATEGORY)
|
Loading…
Reference in a new issue