Merge pull request #1565 from Sandy10000/master

Handling issues posted on the Armory forum
This commit is contained in:
Lubos Lenco 2020-02-10 11:09:34 +01:00 committed by GitHub
commit 2afe51b44f
2 changed files with 55 additions and 0 deletions

View file

@ -0,0 +1,30 @@
package armory.logicnode;
import iron.object.Object;
import iron.math.Vec4;
class GetWorldNode extends LogicNode {
public var property0: String;
public function new(tree: LogicTree) {
super(tree);
}
override function get(from: Int): Dynamic {
var object: Object = inputs[0].get();
if (object == null) {
return null;
}
switch (property0) {
case "right":
return object.transform.world.right();
case "look":
return object.transform.world.look();
case "up":
return object.transform.world.up();
}
return null;
}
}

View file

@ -0,0 +1,25 @@
import bpy
from bpy.props import *
from bpy.types import Node, NodeSocket
from arm.logicnode.arm_nodes import *
class GetWorldNode(Node, ArmLogicTreeNode):
'''Get world node'''
bl_idname = 'LNGetWorldNode'
bl_label = 'Get World'
bl_icon = 'QUESTION'
property0: EnumProperty(
items = [('right', 'right', 'right'),
('look', 'look', 'look'),
('up', 'up', 'up')],
name='', default='right')
def init(self, context):
self.inputs.new('ArmNodeSocketObject', 'Object')
self.outputs.new('NodeSocketVector', 'Vector')
def draw_buttons(self, context, layout):
layout.prop(self, 'property0')
add_node(GetWorldNode, category='Value')