From 31b708b0be0cbbf99ec55d2b777af09637518a9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20Br=C3=BCckner?= Date: Sun, 11 Oct 2020 17:29:29 +0200 Subject: [PATCH 1/3] Fix nodes registering --- blender.py | 15 ++++----------- logicnode_definitions/Template.py | 2 +- logicnode_definitions/action_camera_controller.py | 2 +- logicnode_definitions/action_look.py | 4 ++-- logicnode_definitions/action_looking_at.py | 4 ++-- logicnode_definitions/action_player_controller.py | 2 +- .../animation_animation_controller.py | 10 +++++----- logicnode_definitions/event_call_function.py | 4 ++-- logicnode_definitions/event_end_function.py | 4 ++-- logicnode_definitions/event_return_function.py | 4 ++-- logicnode_definitions/event_start_function.py | 4 ++-- logicnode_definitions/logic_array_loop_indice.py | 4 ++-- logicnode_definitions/logic_bool_operation.py | 6 +++--- logicnode_definitions/logic_number_compare.py | 6 +++--- logicnode_definitions/logic_timer.py | 4 ++-- .../physics_get_contact_coords.py | 4 ++-- logicnode_definitions/value_lerp_vectors.py | 4 ++-- logicnode_definitions/value_quat_to_euler.py | 4 ++-- logicnode_definitions/value_seperate_quat.py | 2 +- logicnode_definitions/variable_min_max.py | 4 ++-- 20 files changed, 43 insertions(+), 50 deletions(-) diff --git a/blender.py b/blender.py index 343744d..13ece49 100644 --- a/blender.py +++ b/blender.py @@ -1,14 +1,7 @@ -import bpy -from bpy.props import * -from bpy.types import Node, NodeSocket -from arm.logicnode.arm_nodes import * -import arm.nodes_logic +# Register all nodes from logicnode_definitions import * + def register(): - # Add custom nodes - # TODO: separate into single .py file per logic node, similar to the main Armory repository - # DONE! - - # Register newly added nodes - arm.nodes_logic.register_nodes() + # Optionally do some other stuff for registering + pass diff --git a/logicnode_definitions/Template.py b/logicnode_definitions/Template.py index fa19a9d..08be9e3 100644 --- a/logicnode_definitions/Template.py +++ b/logicnode_definitions/Template.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -# class (Node, ArmLogicTreeNode): +# class (ArmLogicTreeNode): # '''''' # bl_idname = 'LN' # bl_label = '' diff --git a/logicnode_definitions/action_camera_controller.py b/logicnode_definitions/action_camera_controller.py index b49394e..fe06494 100644 --- a/logicnode_definitions/action_camera_controller.py +++ b/logicnode_definitions/action_camera_controller.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * -class CameraController(Node, ArmLogicTreeNode): +class CameraController(ArmLogicTreeNode): '''CameraController''' bl_idname = 'LNCameraController' bl_label = 'Camera Controller' diff --git a/logicnode_definitions/action_look.py b/logicnode_definitions/action_look.py index 41f1a5c..60c1295 100644 --- a/logicnode_definitions/action_look.py +++ b/logicnode_definitions/action_look.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class LookNode(Node, ArmLogicTreeNode): +class LookNode(ArmLogicTreeNode): '''Look Node''' bl_idname = 'LNLookNode' bl_label = 'Look' @@ -18,5 +18,5 @@ def init(self, context): self.inputs.new('NodeSocketFloat', 'Minimum') self.inputs.new('NodeSocketFloat', 'Maximum') self.outputs.new('ArmNodeSocketAction', 'Out') - + add_node(LookNode, category='Action') diff --git a/logicnode_definitions/action_looking_at.py b/logicnode_definitions/action_looking_at.py index b998424..8b402e8 100644 --- a/logicnode_definitions/action_looking_at.py +++ b/logicnode_definitions/action_looking_at.py @@ -3,12 +3,12 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class LookingAtNode(Node, ArmLogicTreeNode): +class LookingAtNode(ArmLogicTreeNode): '''Looking at Node''' bl_idname = 'LNLookingAtNode' bl_label = 'Looking At' bl_icon = 'QUESTION' - + def init(self, context): self.inputs.new('NodeSocketVector', 'From Position') self.inputs.new('NodeSocketVector', 'To Position') diff --git a/logicnode_definitions/action_player_controller.py b/logicnode_definitions/action_player_controller.py index da32db2..d1d9652 100644 --- a/logicnode_definitions/action_player_controller.py +++ b/logicnode_definitions/action_player_controller.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class PlayerController(Node, ArmLogicTreeNode): +class PlayerController(ArmLogicTreeNode): '''PlayerController''' bl_idname = 'LNPlayerController' bl_label = 'Player Controller' diff --git a/logicnode_definitions/animation_animation_controller.py b/logicnode_definitions/animation_animation_controller.py index c596f5c..c71fead 100644 --- a/logicnode_definitions/animation_animation_controller.py +++ b/logicnode_definitions/animation_animation_controller.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class AnimationControllerNode(Node, ArmLogicTreeNode): +class AnimationControllerNode(ArmLogicTreeNode): '''AnimationController node''' bl_idname = 'LNAnimationControllerNode' bl_label = 'AnimationController' @@ -15,7 +15,7 @@ def __init__(self): def init(self, context): self.outputs.new('ArmNodeSocketAction', 'Out') self.outputs.new('ArmNodeSocketAction', 'Done') - + self.inputs.new('ArmNodeSocketAction', 'In') self.inputs.new('ArmNodeSocketObject', 'Animated Object') self.inputs[-1].default_value = 'Animated Object' @@ -32,15 +32,15 @@ def draw_buttons(self, context, layout): op = row1.operator('arm.node_add_input', text='New Animation Controller', icon='PLUS', emboss=True) op.node_index = str(id(self)) op.socket_type = 'NodeSocketBool' - + op2 = row1.operator('arm.node_add_input', text='New Animation', icon='PLUS', emboss=True) op2.node_index = str(id(self)) op2.socket_type = 'ArmNodeSocketAnimAction' - + op3 = row2.operator('arm.node_add_input', text='New blend time', icon='PLUS', emboss=True) op3.node_index = str(id(self)) op3.socket_type = 'NodeSocketFloat' - + op4 = row2.operator('arm.node_remove_input', text='', icon='X', emboss=True) op4.node_index = str(id(self)) diff --git a/logicnode_definitions/event_call_function.py b/logicnode_definitions/event_call_function.py index 99d536d..2272d9d 100644 --- a/logicnode_definitions/event_call_function.py +++ b/logicnode_definitions/event_call_function.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class CallFunctionNode(Node, ArmLogicTreeNode): +class CallFunctionNode(ArmLogicTreeNode): '''Call Function Node''' bl_idname = 'LNCallFunctionNode' bl_label = 'Call Function' @@ -27,5 +27,5 @@ def draw_buttons(self, context, layout): op.socket_type = 'NodeSocketShader' op2 = row.operator('arm.node_remove_input', text='', icon='X', emboss=True) op2.node_index = str(id(self)) - + add_node(CallFunctionNode, category='Event') diff --git a/logicnode_definitions/event_end_function.py b/logicnode_definitions/event_end_function.py index eff38fe..193d559 100644 --- a/logicnode_definitions/event_end_function.py +++ b/logicnode_definitions/event_end_function.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class EndFunctionNode(Node, ArmLogicTreeNode): +class EndFunctionNode(ArmLogicTreeNode): '''End Function Node''' bl_idname = 'LNEndFunctionNode' bl_label = 'End Function' @@ -26,5 +26,5 @@ def draw_buttons(self, context, layout): op.socket_type = 'NodeSocketShader' op2 = row.operator('arm.node_remove_input', text='', icon='X', emboss=True) op2.node_index = str(id(self)) - + add_node(EndFunctionNode, category='Event') diff --git a/logicnode_definitions/event_return_function.py b/logicnode_definitions/event_return_function.py index 0717185..8737c52 100644 --- a/logicnode_definitions/event_return_function.py +++ b/logicnode_definitions/event_return_function.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class ReturnFunctionNode(Node, ArmLogicTreeNode): +class ReturnFunctionNode(ArmLogicTreeNode): '''Return Function Node''' bl_idname = 'LNReturnFunctionNode' bl_label = 'Return Function' @@ -27,5 +27,5 @@ def draw_buttons(self, context, layout): op.socket_type = 'NodeSocketShader' op2 = row.operator('arm.node_remove_output', text='', icon='X', emboss=True) op2.node_index = str(id(self)) - + add_node(ReturnFunctionNode, category='Event') diff --git a/logicnode_definitions/event_start_function.py b/logicnode_definitions/event_start_function.py index 30ca2be..0ded4ff 100644 --- a/logicnode_definitions/event_start_function.py +++ b/logicnode_definitions/event_start_function.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class StartFunctionNode(Node, ArmLogicTreeNode): +class StartFunctionNode(ArmLogicTreeNode): '''Start Function Node''' bl_idname = 'LNStartFunctionNode' bl_label = 'Start Function' @@ -26,5 +26,5 @@ def draw_buttons(self, context, layout): op.socket_type = 'NodeSocketShader' op2 = row.operator('arm.node_remove_output', text='', icon='X', emboss=True) op2.node_index = str(id(self)) - + add_node(StartFunctionNode, category='Event') diff --git a/logicnode_definitions/logic_array_loop_indice.py b/logicnode_definitions/logic_array_loop_indice.py index 90f020a..bae78af 100644 --- a/logicnode_definitions/logic_array_loop_indice.py +++ b/logicnode_definitions/logic_array_loop_indice.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class ArrayLoopIndiceNode(Node, ArmLogicTreeNode): +class ArrayLoopIndiceNode(ArmLogicTreeNode): '''ArrayLoop node avec indice''' bl_idname = 'LNArrayLoopIndiceNode' bl_label = 'Array Loop Indice' @@ -16,5 +16,5 @@ def init(self, context): self.outputs.new('NodeSocketInt', 'Value') self.outputs.new('ArmNodeSocketAction', 'Done') self.outputs.new('NodeSocketInt', 'Indice') - + add_node(ArrayLoopIndiceNode, category='Logic') diff --git a/logicnode_definitions/logic_bool_operation.py b/logicnode_definitions/logic_bool_operation.py index ae54509..a1757df 100644 --- a/logicnode_definitions/logic_bool_operation.py +++ b/logicnode_definitions/logic_bool_operation.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class BoolOperationNode(Node, ArmLogicTreeNode): +class BoolOperationNode(ArmLogicTreeNode): '''Boolean Operations''' bl_idname = 'LNBoolOperationNode' bl_label = 'Boolean Operation' @@ -25,10 +25,10 @@ def init(self, context): self.inputs.new('NodeSocketBool', 'Input 1') self.inputs.new('NodeSocketBool', 'Input 2') self.outputs.new('NodeSocketBool', 'Output') - + def draw_buttons(self, context, layout): layout.prop(self, 'property0') - + row = layout.row(align=True) add_button = row.operator('arm.node_add_input', text='New', icon='PLUS', emboss=True) add_button.node_index = str(id(self)) diff --git a/logicnode_definitions/logic_number_compare.py b/logicnode_definitions/logic_number_compare.py index e5548a9..2d035f4 100644 --- a/logicnode_definitions/logic_number_compare.py +++ b/logicnode_definitions/logic_number_compare.py @@ -3,12 +3,12 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class CompareNumberNode(Node, ArmLogicTreeNode): +class CompareNumberNode(ArmLogicTreeNode): '''Compares two numbers''' bl_idname = 'LNCompareNumberNode' bl_label = 'Compare Numbers' bl_icon = 'QUESTION' - + property0: EnumProperty( items = [('EQUAL', 'Equal', 'True, if both inputs are equal.'), ('ALMOST EQUAL', 'Almost Equal', 'True, if both inputs are almost (defined by threshold) equal.'), @@ -25,7 +25,7 @@ def init(self, context): self.inputs.new('NodeSocketInt', 'A') self.inputs.new('NodeSocketInt', 'B') self.outputs.new('NodeSocketBool', 'Result') - + def draw_buttons(self, context, layout): layout.prop(self, 'property0') if self.property0 == 'ALMOST EQUAL': diff --git a/logicnode_definitions/logic_timer.py b/logicnode_definitions/logic_timer.py index 5d160d1..716c1ed 100644 --- a/logicnode_definitions/logic_timer.py +++ b/logicnode_definitions/logic_timer.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class TimerNode(Node, ArmLogicTreeNode): +class TimerNode(ArmLogicTreeNode): '''TimerNode''' bl_idname = 'LNTimerNode' bl_label = 'Timer Node' @@ -24,5 +24,5 @@ def init(self, context): self.inputs.new('NodeSocketFloat', 'Seconds') self.inputs.new('NodeSocketInt', 'Repetitions (0 for oneshot, negative for unlimited)') - + add_node(TimerNode, category='Logic') diff --git a/logicnode_definitions/physics_get_contact_coords.py b/logicnode_definitions/physics_get_contact_coords.py index 8056186..25ddee8 100644 --- a/logicnode_definitions/physics_get_contact_coords.py +++ b/logicnode_definitions/physics_get_contact_coords.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class GetContactCoordsNode(Node, ArmLogicTreeNode): +class GetContactCoordsNode(ArmLogicTreeNode): '''Get contact coords Node''' bl_idname = 'LNGetContactCoordsNode' bl_label = 'Get Contact Coords' @@ -14,4 +14,4 @@ def init(self, context): self.outputs.new('ArmNodeSocketArray', 'Array') self.outputs.new('ArmNodeSocketArray', 'Coords') -add_node(GetContactCoordsNode, category='Physics') \ No newline at end of file +add_node(GetContactCoordsNode, category='Physics') diff --git a/logicnode_definitions/value_lerp_vectors.py b/logicnode_definitions/value_lerp_vectors.py index ba69ec2..32d9a58 100644 --- a/logicnode_definitions/value_lerp_vectors.py +++ b/logicnode_definitions/value_lerp_vectors.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class LerpVectorsNode(Node, ArmLogicTreeNode): +class LerpVectorsNode(ArmLogicTreeNode): '''Lerp Vectors node''' bl_idname = 'LNLerpVectorsNode' bl_label = 'Lerp Vectors' @@ -16,5 +16,5 @@ def init(self, context): self.inputs.new('NodeSocketFloat', 'Time For Change') self.inputs.new('NodeSocketBool', 'Stop Interpolation') self.outputs.new('NodeSocketVector', 'Vector') - + add_node(LerpVectorsNode, category='Value') diff --git a/logicnode_definitions/value_quat_to_euler.py b/logicnode_definitions/value_quat_to_euler.py index 4397ceb..ab2492e 100644 --- a/logicnode_definitions/value_quat_to_euler.py +++ b/logicnode_definitions/value_quat_to_euler.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class QuatToEulerNode(Node, ArmLogicTreeNode): +class QuatToEulerNode(ArmLogicTreeNode): '''QuatToEulerNode''' bl_idname = 'LNQuatToEulerNode' bl_label = 'Quat To Euler' @@ -15,6 +15,6 @@ def init(self, context): self.inputs.new('NodeSocketFloat', 'Z') self.inputs.new('NodeSocketFloat', 'W') self.outputs.new('NodeSocketVector', 'Euler') - + add_node(QuatToEulerNode, category='Value') diff --git a/logicnode_definitions/value_seperate_quat.py b/logicnode_definitions/value_seperate_quat.py index 22d2458..bf08c4d 100644 --- a/logicnode_definitions/value_seperate_quat.py +++ b/logicnode_definitions/value_seperate_quat.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class SeparateQuatNode(Node, ArmLogicTreeNode): +class SeparateQuatNode(ArmLogicTreeNode): '''SeparateQuatNode''' bl_idname = 'LNSeparateQuatNode' bl_label = 'Separate Quat' diff --git a/logicnode_definitions/variable_min_max.py b/logicnode_definitions/variable_min_max.py index 6d3c369..05fa9a6 100644 --- a/logicnode_definitions/variable_min_max.py +++ b/logicnode_definitions/variable_min_max.py @@ -3,7 +3,7 @@ from bpy.types import Node, NodeSocket from arm.logicnode.arm_nodes import * -class MinMaxNode(Node, ArmLogicTreeNode): +class MinMaxNode(ArmLogicTreeNode): '''Min/Max Node''' bl_idname = 'LNMinMaxNode' bl_label = 'Clamp Variable' @@ -15,5 +15,5 @@ def init(self, context): self.inputs.new('NodeSocketFloat', 'Min') self.inputs.new('NodeSocketFloat', 'Max') self.outputs.new('ArmNodeSocketAction', 'Out') - + add_node(MinMaxNode, category='Variable') From 0181cb602aeee2835b144b8784943582e51d25dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20Br=C3=BCckner?= Date: Sun, 11 Oct 2020 17:32:59 +0200 Subject: [PATCH 2/3] Fix docstring syntax (PEP8) --- logicnode_definitions/Template.py | 2 +- .../action_camera_controller.py | 2 +- logicnode_definitions/action_look.py | 2 +- logicnode_definitions/action_looking_at.py | 2 +- .../action_player_controller.py | 2 +- .../animation_animation_controller.py | 2 +- logicnode_definitions/event_call_function.py | 2 +- logicnode_definitions/event_end_function.py | 2 +- .../event_return_function.py | 2 +- logicnode_definitions/event_start_function.py | 2 +- .../logic_array_loop_indice.py | 2 +- logicnode_definitions/logic_bool_operation.py | 2 +- logicnode_definitions/logic_number_compare.py | 2 +- logicnode_definitions/logic_timer.py | 2 +- logicnode_definitions/operator.py | 38 +++++++++---------- .../physics_get_contact_coords.py | 2 +- logicnode_definitions/value_lerp_vectors.py | 2 +- logicnode_definitions/value_quat_to_euler.py | 2 +- logicnode_definitions/value_seperate_quat.py | 2 +- logicnode_definitions/variable_min_max.py | 2 +- 20 files changed, 38 insertions(+), 38 deletions(-) diff --git a/logicnode_definitions/Template.py b/logicnode_definitions/Template.py index 08be9e3..ae74720 100644 --- a/logicnode_definitions/Template.py +++ b/logicnode_definitions/Template.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * # class (ArmLogicTreeNode): -# '''''' +# """""" # bl_idname = 'LN' # bl_label = '' # bl_icon = 'QUESTION' diff --git a/logicnode_definitions/action_camera_controller.py b/logicnode_definitions/action_camera_controller.py index fe06494..9fd67e2 100644 --- a/logicnode_definitions/action_camera_controller.py +++ b/logicnode_definitions/action_camera_controller.py @@ -5,7 +5,7 @@ class CameraController(ArmLogicTreeNode): - '''CameraController''' + """CameraController""" bl_idname = 'LNCameraController' bl_label = 'Camera Controller' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/action_look.py b/logicnode_definitions/action_look.py index 60c1295..6a16b47 100644 --- a/logicnode_definitions/action_look.py +++ b/logicnode_definitions/action_look.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class LookNode(ArmLogicTreeNode): - '''Look Node''' + """Look Node""" bl_idname = 'LNLookNode' bl_label = 'Look' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/action_looking_at.py b/logicnode_definitions/action_looking_at.py index 8b402e8..9b9dd55 100644 --- a/logicnode_definitions/action_looking_at.py +++ b/logicnode_definitions/action_looking_at.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class LookingAtNode(ArmLogicTreeNode): - '''Looking at Node''' + """Looking at Node""" bl_idname = 'LNLookingAtNode' bl_label = 'Looking At' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/action_player_controller.py b/logicnode_definitions/action_player_controller.py index d1d9652..6a8e225 100644 --- a/logicnode_definitions/action_player_controller.py +++ b/logicnode_definitions/action_player_controller.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class PlayerController(ArmLogicTreeNode): - '''PlayerController''' + """PlayerController""" bl_idname = 'LNPlayerController' bl_label = 'Player Controller' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/animation_animation_controller.py b/logicnode_definitions/animation_animation_controller.py index c71fead..20352d4 100644 --- a/logicnode_definitions/animation_animation_controller.py +++ b/logicnode_definitions/animation_animation_controller.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class AnimationControllerNode(ArmLogicTreeNode): - '''AnimationController node''' + """AnimationController node""" bl_idname = 'LNAnimationControllerNode' bl_label = 'AnimationController' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/event_call_function.py b/logicnode_definitions/event_call_function.py index 2272d9d..292a873 100644 --- a/logicnode_definitions/event_call_function.py +++ b/logicnode_definitions/event_call_function.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class CallFunctionNode(ArmLogicTreeNode): - '''Call Function Node''' + """Call Function Node""" bl_idname = 'LNCallFunctionNode' bl_label = 'Call Function' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/event_end_function.py b/logicnode_definitions/event_end_function.py index 193d559..8dc1f08 100644 --- a/logicnode_definitions/event_end_function.py +++ b/logicnode_definitions/event_end_function.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class EndFunctionNode(ArmLogicTreeNode): - '''End Function Node''' + """End Function Node""" bl_idname = 'LNEndFunctionNode' bl_label = 'End Function' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/event_return_function.py b/logicnode_definitions/event_return_function.py index 8737c52..4dc0936 100644 --- a/logicnode_definitions/event_return_function.py +++ b/logicnode_definitions/event_return_function.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class ReturnFunctionNode(ArmLogicTreeNode): - '''Return Function Node''' + """Return Function Node""" bl_idname = 'LNReturnFunctionNode' bl_label = 'Return Function' bl_icon = 'CURVE_PATH' diff --git a/logicnode_definitions/event_start_function.py b/logicnode_definitions/event_start_function.py index 0ded4ff..138ac21 100644 --- a/logicnode_definitions/event_start_function.py +++ b/logicnode_definitions/event_start_function.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class StartFunctionNode(ArmLogicTreeNode): - '''Start Function Node''' + """Start Function Node""" bl_idname = 'LNStartFunctionNode' bl_label = 'Start Function' bl_icon = 'CURVE_PATH' diff --git a/logicnode_definitions/logic_array_loop_indice.py b/logicnode_definitions/logic_array_loop_indice.py index bae78af..1777851 100644 --- a/logicnode_definitions/logic_array_loop_indice.py +++ b/logicnode_definitions/logic_array_loop_indice.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class ArrayLoopIndiceNode(ArmLogicTreeNode): - '''ArrayLoop node avec indice''' + """ArrayLoop node avec indice""" bl_idname = 'LNArrayLoopIndiceNode' bl_label = 'Array Loop Indice' bl_icon = 'CURVE_PATH' diff --git a/logicnode_definitions/logic_bool_operation.py b/logicnode_definitions/logic_bool_operation.py index a1757df..8ffe7b5 100644 --- a/logicnode_definitions/logic_bool_operation.py +++ b/logicnode_definitions/logic_bool_operation.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class BoolOperationNode(ArmLogicTreeNode): - '''Boolean Operations''' + """Boolean Operations""" bl_idname = 'LNBoolOperationNode' bl_label = 'Boolean Operation' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/logic_number_compare.py b/logicnode_definitions/logic_number_compare.py index 2d035f4..d5bfc42 100644 --- a/logicnode_definitions/logic_number_compare.py +++ b/logicnode_definitions/logic_number_compare.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class CompareNumberNode(ArmLogicTreeNode): - '''Compares two numbers''' + """Compares two numbers""" bl_idname = 'LNCompareNumberNode' bl_label = 'Compare Numbers' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/logic_timer.py b/logicnode_definitions/logic_timer.py index 716c1ed..b809006 100644 --- a/logicnode_definitions/logic_timer.py +++ b/logicnode_definitions/logic_timer.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class TimerNode(ArmLogicTreeNode): - '''TimerNode''' + """TimerNode""" bl_idname = 'LNTimerNode' bl_label = 'Timer Node' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/operator.py b/logicnode_definitions/operator.py index 2340117..c6f391a 100644 --- a/logicnode_definitions/operator.py +++ b/logicnode_definitions/operator.py @@ -10,11 +10,11 @@ class SaveSelectedNodesOperator(bpy.types.Operator): name: bpy.props.StringProperty(name = "Node Name: ", description = "The Name of the exported Nodes", default = "exported_node") library: bpy.props.StringProperty(name = "Library Name: ", description = "The Name of the Library into which the noder are being exported", default = "exported_nodes") category: bpy.props.StringProperty(name = "Node Category: ", description = "The Category of the exported Nodes", default = "exported_nodes") - - + + def invoke(self, context, event): return context.window_manager.invoke_props_dialog(self) - + def execute(self, context): invalidCharacters = [" ", ".", "/", "\\", ":", ";"] @@ -29,12 +29,12 @@ def replaceInvalidCharacters(name): fp = arm.utils.get_fp() lfp = fp+"/Libraries" - + if not os.path.exists(lfp): os.makedirs(lfp) enfp = lfp+"/"+library_name - + if not os.path.exists(enfp): os.makedirs(enfp) @@ -44,7 +44,7 @@ def replaceInvalidCharacters(name): bl_file.write("from "+library_name+"_definitions import *\n") bl_file.write("def register():\n") bl_file.write("\tarm.nodes_logic.register_nodes()\n") - + ndfp = enfp+"/"+library_name+"_definitions" if not os.path.exists(ndfp): @@ -65,29 +65,29 @@ def replaceInvalidCharacters(name): while os.path.isfile(ndfp+"/"+file_name+str(index)+".py"): index += 1 file_name += str(index) + ".py" - + node_file = open(ndfp+"/"+file_name,"w") node_file.write("import bpy\n") node_file.write("from bpy.props import *\n") node_file.write("from bpy.types import Node, NodeSocket\n") node_file.write("from arm.logicnode.arm_nodes import *\n") - + # give the node the same name that is used for the file for now... - node_file.write("class {0}(Node, ArmLogicTreeNode):\n".format(node_name+"_"+str(index))) - node_file.write("\t'''{0}'''\n".format(node_name+"_"+str(index))) + node_file.write("class {0}(ArmLogicTreeNode):\n".format(node_name+"_"+str(index))) + node_file.write('\t"""{0}"""\n'.format(node_name+"_"+str(index))) node_file.write("\tbl_idname=\"LN{0}\"\n".format(node_name+"_"+str(index))) node_file.write("\tbl_label=\"{0}\"\n".format(node_name)) node_file.write("\tbl_icon=\"QUESTION\"\n") - + node_file.write("\tdef init(self, context):\n") node_file.write("\t\t# convenience functions\n") node_file.write("\t\tdef placeNodeWithOffset(node, reference, offset):\n") node_file.write("\t\t\tnode.location = [reference[0]+offset[0], reference[1]+offset[1]]\n\n") - + # node_file.write("\t\tdef selectNodes(node_tree, nodes):\n") # node_file.write("\t\t\tfor node in nodes:\n") # node_file.write("\t\t\t\tnode.select = True\n\n") - + # node_file.write("\t\tdef frameNodes(node_tree, nodes, title):\n") # node_file.write("\t\t\tbpy.ops.node.select_all(action='DESELECT')\n") # node_file.write("\t\t\tselectNodes(node_tree, nodes)\n") @@ -95,7 +95,7 @@ def replaceInvalidCharacters(name): # node_file.write("\t\t\tframe = node_tree.active\n") # node_file.write("\t\t\tframe.label = title\n") # node_file.write("\t\t\treturn frame\n\n") - + node_file.write("\t\tdef linkNodes(node_links, node_1, node_2, output_socket_index, input_socket_index):\n") node_file.write("\t\t\tlinks.new(node_1.outputs[output_socket_index], node_2.inputs[input_socket_index])\n\n") @@ -103,8 +103,8 @@ def replaceInvalidCharacters(name): node_file.write("\t\tnode_tree_nodes = bpy.context.space_data.node_tree.nodes\n") node_file.write("\t\tlinks = bpy.context.space_data.node_tree.links\n") node_file.write("\t\tloc = bpy.context.space_data.cursor_location\n\n") - - + + node_tree = context.space_data.node_tree nodes = context.selected_nodes links = node_tree.links @@ -117,7 +117,7 @@ def replaceInvalidCharacters(name): node_file.write("\t\tnode_{0} = node_tree_nodes.new(\"{1}\")\n".format(replaceInvalidCharacters(node.name), node.bl_idname)) averageX += node.location[0]/len(nodes) averageY += node.location[1]/len(nodes) - + # position nodes, based on their distance to the average location node_file.write("\t\t# create node layout\n") for node in nodes: @@ -132,7 +132,7 @@ def replaceInvalidCharacters(name): off_y += parent.location[1] parent = parent.parent node_file.write("\t\tplaceNodeWithOffset(node_{0}, loc, [{1}, {2}])\n".format(replaceInvalidCharacters(node.name), node.location[0] + off_x - averageX, node.location[1] + off_y - averageY)) - + # handle frames node_file.write("\t\t# handle parenting, this is needed for frames\n") for node in nodes: @@ -206,7 +206,7 @@ def replaceInvalidCharacters(name): node_file.write("add_node({0}, category='{1}')".format(node_name+"_"+str(index), self.category)) return {'FINISHED'} - + @classmethod def poll(cls, context): return context.space_data != None and context.space_data.type == 'NODE_EDITOR' diff --git a/logicnode_definitions/physics_get_contact_coords.py b/logicnode_definitions/physics_get_contact_coords.py index 25ddee8..2af5b35 100644 --- a/logicnode_definitions/physics_get_contact_coords.py +++ b/logicnode_definitions/physics_get_contact_coords.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class GetContactCoordsNode(ArmLogicTreeNode): - '''Get contact coords Node''' + """Get contact coords Node""" bl_idname = 'LNGetContactCoordsNode' bl_label = 'Get Contact Coords' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/value_lerp_vectors.py b/logicnode_definitions/value_lerp_vectors.py index 32d9a58..8a54ad8 100644 --- a/logicnode_definitions/value_lerp_vectors.py +++ b/logicnode_definitions/value_lerp_vectors.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class LerpVectorsNode(ArmLogicTreeNode): - '''Lerp Vectors node''' + """Lerp Vectors node""" bl_idname = 'LNLerpVectorsNode' bl_label = 'Lerp Vectors' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/value_quat_to_euler.py b/logicnode_definitions/value_quat_to_euler.py index ab2492e..0695b11 100644 --- a/logicnode_definitions/value_quat_to_euler.py +++ b/logicnode_definitions/value_quat_to_euler.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class QuatToEulerNode(ArmLogicTreeNode): - '''QuatToEulerNode''' + """QuatToEulerNode""" bl_idname = 'LNQuatToEulerNode' bl_label = 'Quat To Euler' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/value_seperate_quat.py b/logicnode_definitions/value_seperate_quat.py index bf08c4d..522a420 100644 --- a/logicnode_definitions/value_seperate_quat.py +++ b/logicnode_definitions/value_seperate_quat.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class SeparateQuatNode(ArmLogicTreeNode): - '''SeparateQuatNode''' + """SeparateQuatNode""" bl_idname = 'LNSeparateQuatNode' bl_label = 'Separate Quat' bl_icon = 'QUESTION' diff --git a/logicnode_definitions/variable_min_max.py b/logicnode_definitions/variable_min_max.py index 05fa9a6..89c2a9b 100644 --- a/logicnode_definitions/variable_min_max.py +++ b/logicnode_definitions/variable_min_max.py @@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import * class MinMaxNode(ArmLogicTreeNode): - '''Min/Max Node''' + """Min/Max Node""" bl_idname = 'LNMinMaxNode' bl_label = 'Clamp Variable' bl_icon = 'QUESTION' From dbb573bf51ba11d800b38f8536e272c5b4193dbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20Br=C3=BCckner?= Date: Sun, 11 Oct 2020 17:40:37 +0200 Subject: [PATCH 3/3] Make use of new node API --- logicnode_definitions/Template.py | 4 +- .../action_camera_controller.py | 56 +++++++++---------- logicnode_definitions/action_look.py | 16 +++--- logicnode_definitions/action_looking_at.py | 30 +++++----- .../action_player_controller.py | 48 +++++++--------- .../animation_animation_controller.py | 17 +++--- logicnode_definitions/event_call_function.py | 8 +-- logicnode_definitions/event_end_function.py | 6 +- .../event_return_function.py | 4 +- logicnode_definitions/event_start_function.py | 2 +- .../logic_array_loop_indice.py | 12 ++-- logicnode_definitions/logic_bool_operation.py | 8 +-- logicnode_definitions/logic_number_compare.py | 6 +- logicnode_definitions/logic_timer.py | 24 ++++---- .../physics_get_contact_coords.py | 6 +- logicnode_definitions/value_lerp_vectors.py | 12 ++-- logicnode_definitions/value_quat_to_euler.py | 10 ++-- logicnode_definitions/value_seperate_quat.py | 12 ++-- logicnode_definitions/variable_min_max.py | 10 ++-- 19 files changed, 136 insertions(+), 155 deletions(-) diff --git a/logicnode_definitions/Template.py b/logicnode_definitions/Template.py index ae74720..4b7cfc4 100644 --- a/logicnode_definitions/Template.py +++ b/logicnode_definitions/Template.py @@ -10,7 +10,7 @@ # bl_icon = 'QUESTION' # def init(self, context): -# self.inputs.new('', '') -# self.outputs.new('', '') +# self.add_input('', '') +# self.add_output('', '') # add_node(, category='') diff --git a/logicnode_definitions/action_camera_controller.py b/logicnode_definitions/action_camera_controller.py index 9fd67e2..22120b6 100644 --- a/logicnode_definitions/action_camera_controller.py +++ b/logicnode_definitions/action_camera_controller.py @@ -11,37 +11,31 @@ class CameraController(ArmLogicTreeNode): bl_icon = 'QUESTION' def init(self, context): - self.outputs.new('ArmNodeSocketAction', 'Out') - - self.inputs.new('ArmNodeSocketAction', 'Activate') - - self.inputs.new('ArmNodeSocketObject', 'Player Object') - self.inputs[-1].default_value = 'Player' - - self.inputs.new('ArmNodeSocketObject', 'Camera Object') - self.inputs[-1].default_value = 'Camera' - - self.inputs.new('NodeSocketFloat', 'Speed Modifier') - self.inputs[-1].default_value = 1.0 - self.inputs.new('NodeSocketBool', 'Additional Modifier (e.g. sniper)') - self.inputs.new('NodeSocketFloat', 'Modifier') - self.inputs[-1].default_value = 0.25 - self.inputs.new('NodeSocketBool', 'Invert Horizontal') - self.inputs.new('NodeSocketBool', 'Invert Vertical') - - self.inputs.new('NodeSocketFloat', 'Horizontal Axis Movement') - self.inputs.new('NodeSocketFloat', 'Horizontal Speed') - self.inputs[-1].default_value = 1.0 - self.inputs.new('NodeSocketBool', 'Restrict Horizontal') - self.inputs.new('NodeSocketFloat', 'hMin (Radians)') - self.inputs.new('NodeSocketFloat', 'hMax (Radians)') - - self.inputs.new('NodeSocketFloat', 'Vertical Axis Movement') - self.inputs.new('NodeSocketFloat', 'Vertical Speed') - self.inputs[-1].default_value = 1.0 - self.inputs.new('NodeSocketBool', 'Restrict Vertical') - self.inputs.new('NodeSocketFloat', 'vMin (Radians)') - self.inputs.new('NodeSocketFloat', 'vMax (Radians)') + self.add_output('ArmNodeSocketAction', 'Out') + + self.add_input('ArmNodeSocketAction', 'Activate') + + self.add_input('ArmNodeSocketObject', 'Player Object', default_value='Player') + + self.add_input('ArmNodeSocketObject', 'Camera Object', default_value='Camera') + + self.add_input('NodeSocketFloat', 'Speed Modifier', default_value=1.0) + self.add_input('NodeSocketBool', 'Additional Modifier (e.g. sniper)') + self.add_input('NodeSocketFloat', 'Modifier', default_value=0.25) + self.add_input('NodeSocketBool', 'Invert Horizontal') + self.add_input('NodeSocketBool', 'Invert Vertical') + + self.add_input('NodeSocketFloat', 'Horizontal Axis Movement') + self.add_input('NodeSocketFloat', 'Horizontal Speed', default_value=1.0) + self.add_input('NodeSocketBool', 'Restrict Horizontal') + self.add_input('NodeSocketFloat', 'hMin (Radians)') + self.add_input('NodeSocketFloat', 'hMax (Radians)') + + self.add_input('NodeSocketFloat', 'Vertical Axis Movement') + self.add_input('NodeSocketFloat', 'Vertical Speed', default_value=1.0) + self.add_input('NodeSocketBool', 'Restrict Vertical') + self.add_input('NodeSocketFloat', 'vMin (Radians)') + self.add_input('NodeSocketFloat', 'vMax (Radians)') add_node(CameraController, category='Action') diff --git a/logicnode_definitions/action_look.py b/logicnode_definitions/action_look.py index 6a16b47..0ea2644 100644 --- a/logicnode_definitions/action_look.py +++ b/logicnode_definitions/action_look.py @@ -10,13 +10,13 @@ class LookNode(ArmLogicTreeNode): bl_icon = 'QUESTION' def init(self, context): - self.inputs.new('ArmNodeSocketAction', 'In') - self.inputs.new('ArmNodeSocketObject', 'Object') - self.inputs.new('NodeSocketVector', 'Vector') - self.inputs.new('NodeSocketBool', 'Look Y') - self.inputs.new('NodeSocketBool', 'Look Z') - self.inputs.new('NodeSocketFloat', 'Minimum') - self.inputs.new('NodeSocketFloat', 'Maximum') - self.outputs.new('ArmNodeSocketAction', 'Out') + self.add_input('ArmNodeSocketAction', 'In') + self.add_input('ArmNodeSocketObject', 'Object') + self.add_input('NodeSocketVector', 'Vector') + self.add_input('NodeSocketBool', 'Look Y') + self.add_input('NodeSocketBool', 'Look Z') + self.add_input('NodeSocketFloat', 'Minimum') + self.add_input('NodeSocketFloat', 'Maximum') + self.add_output('ArmNodeSocketAction', 'Out') add_node(LookNode, category='Action') diff --git a/logicnode_definitions/action_looking_at.py b/logicnode_definitions/action_looking_at.py index 9b9dd55..fdb03ee 100644 --- a/logicnode_definitions/action_looking_at.py +++ b/logicnode_definitions/action_looking_at.py @@ -10,22 +10,22 @@ class LookingAtNode(ArmLogicTreeNode): bl_icon = 'QUESTION' def init(self, context): - self.inputs.new('NodeSocketVector', 'From Position') - self.inputs.new('NodeSocketVector', 'To Position') - self.inputs.new('NodeSocketVector', 'Front Facing') + self.add_input('NodeSocketVector', 'From Position') + self.add_input('NodeSocketVector', 'To Position') + self.add_input('NodeSocketVector', 'Front Facing') self.inputs[-1].default_value = [1, 0, 0] - self.inputs.new('NodeSocketVector', 'Main Rotation Axis') + self.add_input('NodeSocketVector', 'Main Rotation Axis') self.inputs[-1].default_value = [0, 0, 1] - self.inputs.new('NodeSocketBool', 'Disable Primary Roatation') - self.inputs.new('NodeSocketBool', 'Disable Secodary Roatation') - self.inputs.new('NodeSocketBool', 'Restrict Primary Rotation') - self.inputs.new('NodeSocketFloat', 'min Primary Rotation') - self.inputs.new('NodeSocketFloat', 'max Primary Rotation') - self.inputs.new('NodeSocketBool', 'Restrict Secondary Rotation') - self.inputs.new('NodeSocketFloat', 'min Secondary Rotation') - self.inputs.new('NodeSocketFloat', 'max Secondary Rotation') - self.outputs.new('NodeSocketVector', 'Rotation (Euler)') - self.outputs.new('NodeSocketVector', 'Rotation (Quat)') - self.outputs.new('NodeSocketBool', 'Is in field of view') + self.add_input('NodeSocketBool', 'Disable Primary Roatation') + self.add_input('NodeSocketBool', 'Disable Secodary Roatation') + self.add_input('NodeSocketBool', 'Restrict Primary Rotation') + self.add_input('NodeSocketFloat', 'min Primary Rotation') + self.add_input('NodeSocketFloat', 'max Primary Rotation') + self.add_input('NodeSocketBool', 'Restrict Secondary Rotation') + self.add_input('NodeSocketFloat', 'min Secondary Rotation') + self.add_input('NodeSocketFloat', 'max Secondary Rotation') + self.add_output('NodeSocketVector', 'Rotation (Euler)') + self.add_output('NodeSocketVector', 'Rotation (Quat)') + self.add_output('NodeSocketBool', 'Is in field of view') add_node(LookingAtNode, category='Action') diff --git a/logicnode_definitions/action_player_controller.py b/logicnode_definitions/action_player_controller.py index 6a8e225..3c4dbea 100644 --- a/logicnode_definitions/action_player_controller.py +++ b/logicnode_definitions/action_player_controller.py @@ -10,44 +10,34 @@ class PlayerController(ArmLogicTreeNode): bl_icon = 'QUESTION' def init(self, context): - self.outputs.new('ArmNodeSocketAction', 'Out') + self.add_output('ArmNodeSocketAction', 'Out') - self.inputs.new('ArmNodeSocketAction', 'Activate') + self.add_input('ArmNodeSocketAction', 'Activate') - self.inputs.new('ArmNodeSocketObject', 'Player Object') - self.inputs[-1].default_value = 'Player' + self.add_input('ArmNodeSocketObject', 'Player Object', default_value='Player') - self.inputs.new('NodeSocketFloat', 'Overall Speed Modifier') - self.inputs[-1].default_value = 1.0 + self.add_input('NodeSocketFloat', 'Overall Speed Modifier', default_value=1.0) - self.inputs.new('NodeSocketBool', 'Forward') - self.inputs.new('NodeSocketFloat', 'Forward Speed') - self.inputs[-1].default_value = 1.0 + self.add_input('NodeSocketBool', 'Forward') + self.add_input('NodeSocketFloat', 'Forward Speed', default_value=1.0) - self.inputs.new('NodeSocketBool', 'Left') - self.inputs.new('NodeSocketFloat', 'Left Speed') - self.inputs[-1].default_value = 1.0 + self.add_input('NodeSocketBool', 'Left') + self.add_input('NodeSocketFloat', 'Left Speed', default_value=1.0) - self.inputs.new('NodeSocketBool', 'Right') - self.inputs.new('NodeSocketFloat', 'Right Speed') - self.inputs[-1].default_value = 1.0 + self.add_input('NodeSocketBool', 'Right') + self.add_input('NodeSocketFloat', 'Right Speed', default_value=1.0) - self.inputs.new('NodeSocketBool', 'Reverse') - self.inputs.new('NodeSocketFloat', 'Reverse Speed') - self.inputs[-1].default_value = 1.0 + self.add_input('NodeSocketBool', 'Reverse') + self.add_input('NodeSocketFloat', 'Reverse Speed', default_value=1.0) - self.inputs.new('NodeSocketBool', 'Jump') - self.inputs.new('NodeSocketFloat', 'Jump Height') - self.inputs[-1].default_value = 1.0 + self.add_input('NodeSocketBool', 'Jump') + self.add_input('NodeSocketFloat', 'Jump Height', default_value=1.0) - self.inputs.new('NodeSocketBool', 'Run') - self.inputs.new('NodeSocketFloat', 'Run Multiplier') - self.inputs[-1].default_value = 1.5 + self.add_input('NodeSocketBool', 'Run') + self.add_input('NodeSocketFloat', 'Run Multiplier', default_value=1.5) - self.inputs.new('NodeSocketBool', 'Crouch') - self.inputs.new('NodeSocketBool', 'Hold for crouch') - self.inputs[-1].default_value = 1 - self.inputs.new('NodeSocketFloat', 'Crouch Multiplier') - self.inputs[-1].default_value = 0.5 + self.add_input('NodeSocketBool', 'Crouch') + self.add_input('NodeSocketBool', 'Hold for crouch', default_value=1) + self.add_input('NodeSocketFloat', 'Crouch Multiplier', default_value=0.5) add_node(PlayerController, category='Action') diff --git a/logicnode_definitions/animation_animation_controller.py b/logicnode_definitions/animation_animation_controller.py index 20352d4..a571c02 100644 --- a/logicnode_definitions/animation_animation_controller.py +++ b/logicnode_definitions/animation_animation_controller.py @@ -13,16 +13,13 @@ def __init__(self): array_nodes[str(id(self))] = self def init(self, context): - self.outputs.new('ArmNodeSocketAction', 'Out') - self.outputs.new('ArmNodeSocketAction', 'Done') - - self.inputs.new('ArmNodeSocketAction', 'In') - self.inputs.new('ArmNodeSocketObject', 'Animated Object') - self.inputs[-1].default_value = 'Animated Object' - self.inputs.new('ArmNodeSocketAnimAction', 'Idle') - self.inputs[-1].default_value = 'Idle' - self.inputs.new('NodeSocketFloat', 'Blend Time') - self.inputs[-1].default_value = 0.2 + self.add_output('ArmNodeSocketAction', 'Out') + self.add_output('ArmNodeSocketAction', 'Done') + + self.add_input('ArmNodeSocketAction', 'In') + self.add_input('ArmNodeSocketObject', 'Animated Object', default_value='Animated Object') + self.add_input('ArmNodeSocketAnimAction', 'Idle', default_value='Idle') + self.add_input('NodeSocketFloat', 'Blend Time', default_value=0.2) def draw_buttons(self, context, layout): diff --git a/logicnode_definitions/event_call_function.py b/logicnode_definitions/event_call_function.py index 292a873..68b5ddd 100644 --- a/logicnode_definitions/event_call_function.py +++ b/logicnode_definitions/event_call_function.py @@ -14,10 +14,10 @@ def __init__(self): array_nodes[str(id(self))] = self def init(self, context): - self.outputs.new('ArmNodeSocketAction', 'Out') - self.inputs.new('ArmNodeSocketAction', 'In') - self.inputs.new('NodeSocketString', 'Function') - self.inputs.new('NodeSocketInt', 'ID') + self.add_output('ArmNodeSocketAction', 'Out') + self.add_input('ArmNodeSocketAction', 'In') + self.add_input('NodeSocketString', 'Function') + self.add_input('NodeSocketInt', 'ID') def draw_buttons(self, context, layout): row = layout.row(align=True) diff --git a/logicnode_definitions/event_end_function.py b/logicnode_definitions/event_end_function.py index 8dc1f08..dd62d32 100644 --- a/logicnode_definitions/event_end_function.py +++ b/logicnode_definitions/event_end_function.py @@ -14,9 +14,9 @@ def __init__(self): array_nodes[str(id(self))] = self def init(self, context): - self.outputs.new('ArmNodeSocketAction', 'Out') - self.inputs.new('ArmNodeSocketAction', 'In') - self.inputs.new('NodeSocketString', 'Function') + self.add_output('ArmNodeSocketAction', 'Out') + self.add_input('ArmNodeSocketAction', 'In') + self.add_input('NodeSocketString', 'Function') def draw_buttons(self, context, layout): row = layout.row(align=True) diff --git a/logicnode_definitions/event_return_function.py b/logicnode_definitions/event_return_function.py index 4dc0936..d5f1718 100644 --- a/logicnode_definitions/event_return_function.py +++ b/logicnode_definitions/event_return_function.py @@ -15,8 +15,8 @@ def __init__(self): array_nodes[str(id(self))] = self def init(self, context): - self.outputs.new('ArmNodeSocketAction', 'Out') - self.inputs.new('NodeSocketInt', 'ID') + self.add_output('ArmNodeSocketAction', 'Out') + self.add_input('NodeSocketInt', 'ID') def draw_buttons(self, context, layout): layout.prop(self, 'property0') diff --git a/logicnode_definitions/event_start_function.py b/logicnode_definitions/event_start_function.py index 138ac21..6b550b6 100644 --- a/logicnode_definitions/event_start_function.py +++ b/logicnode_definitions/event_start_function.py @@ -15,7 +15,7 @@ def __init__(self): array_nodes[str(id(self))] = self def init(self, context): - self.outputs.new('ArmNodeSocketAction', 'Out') + self.add_output('ArmNodeSocketAction', 'Out') def draw_buttons(self, context, layout): layout.prop(self, 'property0') diff --git a/logicnode_definitions/logic_array_loop_indice.py b/logicnode_definitions/logic_array_loop_indice.py index 1777851..eb95d95 100644 --- a/logicnode_definitions/logic_array_loop_indice.py +++ b/logicnode_definitions/logic_array_loop_indice.py @@ -10,11 +10,11 @@ class ArrayLoopIndiceNode(ArmLogicTreeNode): bl_icon = 'CURVE_PATH' def init(self, context): - self.inputs.new('ArmNodeSocketAction', 'In') - self.inputs.new('NodeSocketShader', 'Array') - self.outputs.new('ArmNodeSocketAction', 'Loop') - self.outputs.new('NodeSocketInt', 'Value') - self.outputs.new('ArmNodeSocketAction', 'Done') - self.outputs.new('NodeSocketInt', 'Indice') + self.add_input('ArmNodeSocketAction', 'In') + self.add_input('NodeSocketShader', 'Array') + self.add_output('ArmNodeSocketAction', 'Loop') + self.add_output('NodeSocketInt', 'Value') + self.add_output('ArmNodeSocketAction', 'Done') + self.add_output('NodeSocketInt', 'Indice') add_node(ArrayLoopIndiceNode, category='Logic') diff --git a/logicnode_definitions/logic_bool_operation.py b/logicnode_definitions/logic_bool_operation.py index 8ffe7b5..6c673f6 100644 --- a/logicnode_definitions/logic_bool_operation.py +++ b/logicnode_definitions/logic_bool_operation.py @@ -21,10 +21,10 @@ def __init__(self): array_nodes[str(id(self))] = self def init(self, context): - self.inputs.new('NodeSocketBool', 'Invert Output') - self.inputs.new('NodeSocketBool', 'Input 1') - self.inputs.new('NodeSocketBool', 'Input 2') - self.outputs.new('NodeSocketBool', 'Output') + self.add_input('NodeSocketBool', 'Invert Output') + self.add_input('NodeSocketBool', 'Input 1') + self.add_input('NodeSocketBool', 'Input 2') + self.add_output('NodeSocketBool', 'Output') def draw_buttons(self, context, layout): layout.prop(self, 'property0') diff --git a/logicnode_definitions/logic_number_compare.py b/logicnode_definitions/logic_number_compare.py index d5bfc42..2431285 100644 --- a/logicnode_definitions/logic_number_compare.py +++ b/logicnode_definitions/logic_number_compare.py @@ -22,9 +22,9 @@ class CompareNumberNode(ArmLogicTreeNode): property1: FloatProperty(name='Tolerance', description='Almost Equal threshold', default=0.0001) def init(self, context): - self.inputs.new('NodeSocketInt', 'A') - self.inputs.new('NodeSocketInt', 'B') - self.outputs.new('NodeSocketBool', 'Result') + self.add_input('NodeSocketInt', 'A') + self.add_input('NodeSocketInt', 'B') + self.add_output('NodeSocketBool', 'Result') def draw_buttons(self, context, layout): layout.prop(self, 'property0') diff --git a/logicnode_definitions/logic_timer.py b/logicnode_definitions/logic_timer.py index b809006..8b5b694 100644 --- a/logicnode_definitions/logic_timer.py +++ b/logicnode_definitions/logic_timer.py @@ -10,19 +10,19 @@ class TimerNode(ArmLogicTreeNode): bl_icon = 'QUESTION' def init(self, context): - self.outputs.new('ArmNodeSocketAction', 'Out') - self.outputs.new('ArmNodeSocketAction', 'Done') - self.outputs.new('NodeSocketBool', 'Running') - self.outputs.new('NodeSocketBool', 'Paused') - self.outputs.new('NodeSocketFloat', 'Seconds left') - self.outputs.new('NodeSocketFloat', 'Progress (in %)') - self.outputs.new('NodeSocketInt', 'Repetitions done') + self.add_output('ArmNodeSocketAction', 'Out') + self.add_output('ArmNodeSocketAction', 'Done') + self.add_output('NodeSocketBool', 'Running') + self.add_output('NodeSocketBool', 'Paused') + self.add_output('NodeSocketFloat', 'Seconds left') + self.add_output('NodeSocketFloat', 'Progress (in %)') + self.add_output('NodeSocketInt', 'Repetitions done') - self.inputs.new('ArmNodeSocketAction', 'Start') - self.inputs.new('NodeSocketBool', 'Pause') - self.inputs.new('NodeSocketBool', 'Stop') + self.add_input('ArmNodeSocketAction', 'Start') + self.add_input('NodeSocketBool', 'Pause') + self.add_input('NodeSocketBool', 'Stop') - self.inputs.new('NodeSocketFloat', 'Seconds') - self.inputs.new('NodeSocketInt', 'Repetitions (0 for oneshot, negative for unlimited)') + self.add_input('NodeSocketFloat', 'Seconds') + self.add_input('NodeSocketInt', 'Repetitions (0 for oneshot, negative for unlimited)') add_node(TimerNode, category='Logic') diff --git a/logicnode_definitions/physics_get_contact_coords.py b/logicnode_definitions/physics_get_contact_coords.py index 2af5b35..8a68754 100644 --- a/logicnode_definitions/physics_get_contact_coords.py +++ b/logicnode_definitions/physics_get_contact_coords.py @@ -10,8 +10,8 @@ class GetContactCoordsNode(ArmLogicTreeNode): bl_icon = 'QUESTION' def init(self, context): - self.inputs.new('ArmNodeSocketObject', 'Object') - self.outputs.new('ArmNodeSocketArray', 'Array') - self.outputs.new('ArmNodeSocketArray', 'Coords') + self.add_input('ArmNodeSocketObject', 'Object') + self.add_output('ArmNodeSocketArray', 'Array') + self.add_output('ArmNodeSocketArray', 'Coords') add_node(GetContactCoordsNode, category='Physics') diff --git a/logicnode_definitions/value_lerp_vectors.py b/logicnode_definitions/value_lerp_vectors.py index 8a54ad8..8734d9a 100644 --- a/logicnode_definitions/value_lerp_vectors.py +++ b/logicnode_definitions/value_lerp_vectors.py @@ -10,11 +10,11 @@ class LerpVectorsNode(ArmLogicTreeNode): bl_icon = 'QUESTION' def init(self, context): - self.inputs.new('ArmNodeSocketAction', 'In') - self.inputs.new('NodeSocketVector', 'Starting Vector') - self.inputs.new('NodeSocketVector', 'End Vector') - self.inputs.new('NodeSocketFloat', 'Time For Change') - self.inputs.new('NodeSocketBool', 'Stop Interpolation') - self.outputs.new('NodeSocketVector', 'Vector') + self.add_input('ArmNodeSocketAction', 'In') + self.add_input('NodeSocketVector', 'Starting Vector') + self.add_input('NodeSocketVector', 'End Vector') + self.add_input('NodeSocketFloat', 'Time For Change') + self.add_input('NodeSocketBool', 'Stop Interpolation') + self.add_output('NodeSocketVector', 'Vector') add_node(LerpVectorsNode, category='Value') diff --git a/logicnode_definitions/value_quat_to_euler.py b/logicnode_definitions/value_quat_to_euler.py index 0695b11..bc517b4 100644 --- a/logicnode_definitions/value_quat_to_euler.py +++ b/logicnode_definitions/value_quat_to_euler.py @@ -10,11 +10,11 @@ class QuatToEulerNode(ArmLogicTreeNode): bl_icon = 'QUESTION' def init(self, context): - self.inputs.new('NodeSocketFloat', 'X') - self.inputs.new('NodeSocketFloat', 'Y') - self.inputs.new('NodeSocketFloat', 'Z') - self.inputs.new('NodeSocketFloat', 'W') - self.outputs.new('NodeSocketVector', 'Euler') + self.add_input('NodeSocketFloat', 'X') + self.add_input('NodeSocketFloat', 'Y') + self.add_input('NodeSocketFloat', 'Z') + self.add_input('NodeSocketFloat', 'W') + self.add_output('NodeSocketVector', 'Euler') add_node(QuatToEulerNode, category='Value') diff --git a/logicnode_definitions/value_seperate_quat.py b/logicnode_definitions/value_seperate_quat.py index 522a420..6cd15cf 100644 --- a/logicnode_definitions/value_seperate_quat.py +++ b/logicnode_definitions/value_seperate_quat.py @@ -10,11 +10,11 @@ class SeparateQuatNode(ArmLogicTreeNode): bl_icon = 'QUESTION' def init(self, context): - self.inputs.new('NodeSocketVector', 'Quat') - self.outputs.new('NodeSocketFloat', 'X') - self.outputs.new('NodeSocketFloat', 'Y') - self.outputs.new('NodeSocketFloat', 'Z') - self.outputs.new('NodeSocketFloat', 'W') - self.outputs.new('NodeSocketVector', 'Euler') + self.add_input('NodeSocketVector', 'Quat') + self.add_output('NodeSocketFloat', 'X') + self.add_output('NodeSocketFloat', 'Y') + self.add_output('NodeSocketFloat', 'Z') + self.add_output('NodeSocketFloat', 'W') + self.add_output('NodeSocketVector', 'Euler') add_node(SeparateQuatNode, category='Value') diff --git a/logicnode_definitions/variable_min_max.py b/logicnode_definitions/variable_min_max.py index 89c2a9b..7b905dc 100644 --- a/logicnode_definitions/variable_min_max.py +++ b/logicnode_definitions/variable_min_max.py @@ -10,10 +10,10 @@ class MinMaxNode(ArmLogicTreeNode): bl_icon = 'QUESTION' def init(self, context): - self.inputs.new('ArmNodeSocketAction', 'In') - self.inputs.new('NodeSocketShader', 'Value') - self.inputs.new('NodeSocketFloat', 'Min') - self.inputs.new('NodeSocketFloat', 'Max') - self.outputs.new('ArmNodeSocketAction', 'Out') + self.add_input('ArmNodeSocketAction', 'In') + self.add_input('NodeSocketShader', 'Value') + self.add_input('NodeSocketFloat', 'Min') + self.add_input('NodeSocketFloat', 'Max') + self.add_output('ArmNodeSocketAction', 'Out') add_node(MinMaxNode, category='Variable')