Update node docstrings
This commit is contained in:
parent
dc515c97d0
commit
431630d42e
|
@ -13,7 +13,7 @@ class ArrayAddNode extends LogicNode {
|
||||||
if (ar == null) return;
|
if (ar == null) return;
|
||||||
|
|
||||||
// "Modify Original" == `false` -> Copy the input array
|
// "Modify Original" == `false` -> Copy the input array
|
||||||
if (!inputs[3].get()) {
|
if (!inputs[2].get()) {
|
||||||
ar = ar.copy();
|
ar = ar.copy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ class ArrayAddNode extends LogicNode {
|
||||||
// "Unique Values" options only supports primitive data types
|
// "Unique Values" options only supports primitive data types
|
||||||
// for now, a custom indexOf() or contains() method would be
|
// for now, a custom indexOf() or contains() method would be
|
||||||
// required to compare values of other types
|
// required to compare values of other types
|
||||||
if (!inputs[2].get() || ar.indexOf(value) == -1) {
|
if (!inputs[3].get() || ar.indexOf(value) == -1) {
|
||||||
ar.push(value);
|
ar.push(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,10 +4,12 @@ import pkgutil
|
||||||
from arm.logicnode import arm_nodes
|
from arm.logicnode import arm_nodes
|
||||||
|
|
||||||
# Register node menu categories
|
# Register node menu categories
|
||||||
arm_nodes.add_category('Logic', icon='OUTLINER', section="basic")
|
arm_nodes.add_category('Logic', icon='OUTLINER', section="basic",
|
||||||
|
description="Logic nodes are used to control execution flow using branching, loops, gates etc.")
|
||||||
arm_nodes.add_category('Event', icon='INFO', section="basic")
|
arm_nodes.add_category('Event', icon='INFO', section="basic")
|
||||||
arm_nodes.add_category('Input', icon='GREASEPENCIL', section="basic")
|
arm_nodes.add_category('Input', icon='GREASEPENCIL', section="basic")
|
||||||
arm_nodes.add_category('Native', icon='MEMORY', section="basic")
|
arm_nodes.add_category('Native', icon='MEMORY', section="basic",
|
||||||
|
description="The Native category contains nodes which interact with the system (Input/Output functionality, etc.) or Haxe.")
|
||||||
|
|
||||||
arm_nodes.add_category('Camera', icon='OUTLINER_OB_CAMERA', section="data")
|
arm_nodes.add_category('Camera', icon='OUTLINER_OB_CAMERA', section="data")
|
||||||
arm_nodes.add_category('Material', icon='MATERIAL', section="data")
|
arm_nodes.add_category('Material', icon='MATERIAL', section="data")
|
||||||
|
@ -27,7 +29,8 @@ arm_nodes.add_category('Random', icon='SEQ_HISTOGRAM', section="values")
|
||||||
arm_nodes.add_category('String', icon='SORTALPHA', section="values")
|
arm_nodes.add_category('String', icon='SORTALPHA', section="values")
|
||||||
arm_nodes.add_category('Variable', icon='OPTIONS', section="values")
|
arm_nodes.add_category('Variable', icon='OPTIONS', section="values")
|
||||||
|
|
||||||
arm_nodes.add_category('Canvas', icon='RENDERLAYERS', section="graphics")
|
arm_nodes.add_category('Canvas', icon='RENDERLAYERS', section="graphics",
|
||||||
|
description="Note: To get the canvas, be sure that the node(s) and the canvas (UI) is attached to the same object.")
|
||||||
arm_nodes.add_category('Postprocess', icon='FREEZE', section="graphics")
|
arm_nodes.add_category('Postprocess', icon='FREEZE', section="graphics")
|
||||||
arm_nodes.add_category('Renderpath', icon='STICKY_UVS_LOC', section="graphics")
|
arm_nodes.add_category('Renderpath', icon='STICKY_UVS_LOC', section="graphics")
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class AnimActionNode(ArmLogicTreeNode):
|
class AnimActionNode(ArmLogicTreeNode):
|
||||||
"""Use to hold an action as a variable."""
|
"""Hold an action as a variable."""
|
||||||
bl_idname = 'LNAnimActionNode'
|
bl_idname = 'LNAnimActionNode'
|
||||||
bl_label = 'Action'
|
bl_label = 'Action'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class AnimationStateNode(ArmLogicTreeNode):
|
class AnimationStateNode(ArmLogicTreeNode):
|
||||||
"""Use to get information about the current animation of an object."""
|
"""Get information about the current animation of an object."""
|
||||||
bl_idname = 'LNAnimationStateNode'
|
bl_idname = 'LNAnimationStateNode'
|
||||||
bl_label = 'Animation State'
|
bl_label = 'Animation State'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class BlendActionNode(ArmLogicTreeNode):
|
class BlendActionNode(ArmLogicTreeNode):
|
||||||
"""Use to interpolate between two different actions."""
|
"""Interpolate between two different actions."""
|
||||||
bl_idname = 'LNBlendActionNode'
|
bl_idname = 'LNBlendActionNode'
|
||||||
bl_label = 'Blend Action'
|
bl_label = 'Blend Action'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class BoneFKNode(ArmLogicTreeNode):
|
class BoneFKNode(ArmLogicTreeNode):
|
||||||
"""Use to apply forward kinematics in an object bone."""
|
"""Apply forward kinematics in an object bone."""
|
||||||
bl_idname = 'LNBoneFKNode'
|
bl_idname = 'LNBoneFKNode'
|
||||||
bl_label = 'Bone FK'
|
bl_label = 'Bone FK'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class BoneIKNode(ArmLogicTreeNode):
|
class BoneIKNode(ArmLogicTreeNode):
|
||||||
"""Use to apply inverse kinematics in an object bone."""
|
"""Apply inverse kinematics in an object bone."""
|
||||||
bl_idname = 'LNBoneIKNode'
|
bl_idname = 'LNBoneIKNode'
|
||||||
bl_label = 'Bone IK'
|
bl_label = 'Bone IK'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
@ -14,4 +14,4 @@ class BoneIKNode(ArmLogicTreeNode):
|
||||||
self.add_input('NodeSocketVector', 'Goal')
|
self.add_input('NodeSocketVector', 'Goal')
|
||||||
self.add_output('ArmNodeSocketAction', 'Out')
|
self.add_output('ArmNodeSocketAction', 'Out')
|
||||||
|
|
||||||
add_node(BoneIKNode, category=PKG_AS_CATEGORY)
|
add_node(BoneIKNode, category=PKG_AS_CATEGORY, section='armature')
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class OnActionMarkerNode(ArmLogicTreeNode):
|
class OnActionMarkerNode(ArmLogicTreeNode):
|
||||||
"""Runs the output when the object action trespasses the action marker."""
|
"""Activates the output when the object action trespasses the action marker."""
|
||||||
bl_idname = 'LNOnActionMarkerNode'
|
bl_idname = 'LNOnActionMarkerNode'
|
||||||
bl_label = 'On Action Marker'
|
bl_label = 'On Action Marker'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
@ -12,4 +12,4 @@ class OnActionMarkerNode(ArmLogicTreeNode):
|
||||||
self.add_input('NodeSocketString', 'Marker')
|
self.add_input('NodeSocketString', 'Marker')
|
||||||
self.add_output('ArmNodeSocketAction', 'Out')
|
self.add_output('ArmNodeSocketAction', 'Out')
|
||||||
|
|
||||||
add_node(OnActionMarkerNode, category=PKG_AS_CATEGORY, section='armature')
|
add_node(OnActionMarkerNode, category=PKG_AS_CATEGORY)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class PauseActionNode(ArmLogicTreeNode):
|
class PauseActionNode(ArmLogicTreeNode):
|
||||||
"""Use to pause an action."""
|
"""Pause an action."""
|
||||||
bl_idname = 'LNPauseActionNode'
|
bl_idname = 'LNPauseActionNode'
|
||||||
bl_label = 'Pause Action'
|
bl_label = 'Pause Action'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class PauseTilesheetNode(ArmLogicTreeNode):
|
class PauseTilesheetNode(ArmLogicTreeNode):
|
||||||
"""Use to pause a tilesheet."""
|
"""Pause a tilesheet action."""
|
||||||
bl_idname = 'LNPauseTilesheetNode'
|
bl_idname = 'LNPauseTilesheetNode'
|
||||||
bl_label = 'Pause Tilesheet'
|
bl_label = 'Pause Tilesheet'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class PlayActionNode(ArmLogicTreeNode):
|
class PlayActionNode(ArmLogicTreeNode):
|
||||||
"""Use to play an action."""
|
"""Play an action."""
|
||||||
bl_idname = 'LNPlayActionNode'
|
bl_idname = 'LNPlayActionNode'
|
||||||
bl_label = 'Play Action'
|
bl_label = 'Play Action'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class PlayActionFromNode(ArmLogicTreeNode):
|
class PlayActionFromNode(ArmLogicTreeNode):
|
||||||
"""Use to play an action from a defined frame."""
|
"""Play an action from a defined frame."""
|
||||||
bl_idname = 'LNPlayActionFromNode'
|
bl_idname = 'LNPlayActionFromNode'
|
||||||
bl_label = 'Play Action From'
|
bl_label = 'Play Action From'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class PlayTilesheetNode(ArmLogicTreeNode):
|
class PlayTilesheetNode(ArmLogicTreeNode):
|
||||||
"""Use to play a tilesheet."""
|
"""Play a tilesheet action."""
|
||||||
bl_idname = 'LNPlayTilesheetNode'
|
bl_idname = 'LNPlayTilesheetNode'
|
||||||
bl_label = 'Play Tilesheet'
|
bl_label = 'Play Tilesheet'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ResumeActionNode(ArmLogicTreeNode):
|
class ResumeActionNode(ArmLogicTreeNode):
|
||||||
"""Use to resume an action."""
|
"""Resume an action."""
|
||||||
bl_idname = 'LNResumeActionNode'
|
bl_idname = 'LNResumeActionNode'
|
||||||
bl_label = 'Resume Action'
|
bl_label = 'Resume Action'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ResumeTilesheetNode(ArmLogicTreeNode):
|
class ResumeTilesheetNode(ArmLogicTreeNode):
|
||||||
"""Use to resume a tilesheet."""
|
"""Resume a tilesheet action."""
|
||||||
bl_idname = 'LNResumeTilesheetNode'
|
bl_idname = 'LNResumeTilesheetNode'
|
||||||
bl_label = 'Resume Tilesheet'
|
bl_label = 'Resume Tilesheet'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SetActionSpeedNode(ArmLogicTreeNode):
|
class SetActionSpeedNode(ArmLogicTreeNode):
|
||||||
"""Use to set the speed of an action."""
|
"""Set the current action playback speed."""
|
||||||
bl_idname = 'LNSetActionSpeedNode'
|
bl_idname = 'LNSetActionSpeedNode'
|
||||||
bl_label = 'Set Action Speed'
|
bl_label = 'Set Action Speed'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SetParticleSpeedNode(ArmLogicTreeNode):
|
class SetParticleSpeedNode(ArmLogicTreeNode):
|
||||||
"""Use to set the speed of a particle source."""
|
"""Set the speed of a particle source."""
|
||||||
bl_idname = 'LNSetParticleSpeedNode'
|
bl_idname = 'LNSetParticleSpeedNode'
|
||||||
bl_label = 'Set Particle Speed'
|
bl_label = 'Set Particle Speed'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ArrayAddNode(ArmLogicTreeNode):
|
class ArrayAddNode(ArmLogicTreeNode):
|
||||||
"""Use to add a value to an array."""
|
"""Add a value to an array.
|
||||||
|
|
||||||
|
@input Array: the array to manipulate.
|
||||||
|
@input Modify Original: if `false`, the input array is copied before adding the value.
|
||||||
|
@input Unique Values: if `true`, values may occur only once in that array (only primitive data types are supported).
|
||||||
|
"""
|
||||||
bl_idname = 'LNArrayAddNode'
|
bl_idname = 'LNArrayAddNode'
|
||||||
bl_label = 'Array Add'
|
bl_label = 'Array Add'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
@ -13,8 +18,8 @@ class ArrayAddNode(ArmLogicTreeNode):
|
||||||
super(ArrayAddNode, self).init(context)
|
super(ArrayAddNode, self).init(context)
|
||||||
self.add_input('ArmNodeSocketAction', 'In')
|
self.add_input('ArmNodeSocketAction', 'In')
|
||||||
self.add_input('ArmNodeSocketArray', 'Array')
|
self.add_input('ArmNodeSocketArray', 'Array')
|
||||||
self.add_input('NodeSocketBool', 'Unique Values')
|
|
||||||
self.add_input('NodeSocketBool', 'Modify Original', default_value=True)
|
self.add_input('NodeSocketBool', 'Modify Original', default_value=True)
|
||||||
|
self.add_input('NodeSocketBool', 'Unique Values')
|
||||||
self.add_input('NodeSocketShader', 'Value')
|
self.add_input('NodeSocketShader', 'Value')
|
||||||
self.add_output('ArmNodeSocketAction', 'Out')
|
self.add_output('ArmNodeSocketAction', 'Out')
|
||||||
self.add_output('ArmNodeSocketArray', 'Array')
|
self.add_output('ArmNodeSocketArray', 'Array')
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ArrayContainsNode(ArmLogicTreeNode):
|
class ArrayContainsNode(ArmLogicTreeNode):
|
||||||
"""Use to get if an array contains a specific value."""
|
"""Get if an array contains a specific value."""
|
||||||
bl_idname = 'LNArrayInArrayNode'
|
bl_idname = 'LNArrayInArrayNode'
|
||||||
bl_label = 'Array Contains'
|
bl_label = 'Array Contains'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ArrayGetNode(ArmLogicTreeNode):
|
class ArrayGetNode(ArmLogicTreeNode):
|
||||||
"""Use to get a value of an array using the element index."""
|
"""Get the value of an array at the specified index."""
|
||||||
bl_idname = 'LNArrayGetNode'
|
bl_idname = 'LNArrayGetNode'
|
||||||
bl_label = 'Array Get'
|
bl_label = 'Array Get'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -2,7 +2,7 @@ from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
|
|
||||||
class ArrayLoopNode(ArmLogicTreeNode):
|
class ArrayLoopNode(ArmLogicTreeNode):
|
||||||
"""Use to loop trought an array."""
|
"""Loop through each item of the given array."""
|
||||||
bl_idname = 'LNArrayLoopNode'
|
bl_idname = 'LNArrayLoopNode'
|
||||||
bl_label = 'Array Loop'
|
bl_label = 'Array Loop'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ArrayPopNode(ArmLogicTreeNode):
|
class ArrayPopNode(ArmLogicTreeNode):
|
||||||
"""Use to remove the last element of an array."""
|
"""Remove the last element of an array.
|
||||||
|
|
||||||
|
@see [Haxe API](https://api.haxe.org/Array.html#pop)"""
|
||||||
bl_idname = 'LNArrayPopNode'
|
bl_idname = 'LNArrayPopNode'
|
||||||
bl_label = 'Array Pop'
|
bl_label = 'Array Pop'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ArrayRemoveIndexNode(ArmLogicTreeNode):
|
class ArrayRemoveIndexNode(ArmLogicTreeNode):
|
||||||
"""Use to remove a value from an array by index."""
|
"""Remove an element from an array by its index.
|
||||||
|
|
||||||
|
@seeNode Array Remove By Value"""
|
||||||
bl_idname = 'LNArrayRemoveNode'
|
bl_idname = 'LNArrayRemoveNode'
|
||||||
bl_label = 'Array Remove By Index'
|
bl_label = 'Array Remove By Index'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ArrayRemoveValueNode(ArmLogicTreeNode):
|
class ArrayRemoveValueNode(ArmLogicTreeNode):
|
||||||
"""Use to remove a value from an array."""
|
"""Remove an element from an array by its value.
|
||||||
|
|
||||||
|
@seeNode Array Remove By Index"""
|
||||||
bl_idname = 'LNArrayRemoveValueNode'
|
bl_idname = 'LNArrayRemoveValueNode'
|
||||||
bl_label = 'Array Remove By Value'
|
bl_label = 'Array Remove By Value'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ArraySetNode(ArmLogicTreeNode):
|
class ArraySetNode(ArmLogicTreeNode):
|
||||||
"""Use to set the value of an array element by index."""
|
"""Set the value of an array at the specified index."""
|
||||||
bl_idname = 'LNArraySetNode'
|
bl_idname = 'LNArraySetNode'
|
||||||
bl_label = 'Array Set'
|
bl_label = 'Array Set'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ArrayShiftNode(ArmLogicTreeNode):
|
class ArrayShiftNode(ArmLogicTreeNode):
|
||||||
"""Use to remove the first element of an array."""
|
"""Use to remove the first element of an array.
|
||||||
|
|
||||||
|
@see [Haxe API](https://api.haxe.org/Array.html#shift)"""
|
||||||
bl_idname = 'LNArrayShiftNode'
|
bl_idname = 'LNArrayShiftNode'
|
||||||
bl_label = 'Array Shift'
|
bl_label = 'Array Shift'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ArraySliceNode(ArmLogicTreeNode):
|
class ArraySliceNode(ArmLogicTreeNode):
|
||||||
"""TO DO. Search for haxe array slice."""
|
"""Creates a shallow copy of the given array in the specified range.
|
||||||
|
|
||||||
|
@see [Haxe API](https://api.haxe.org/Array.html#slice)"""
|
||||||
bl_idname = 'LNArraySliceNode'
|
bl_idname = 'LNArraySliceNode'
|
||||||
bl_label = 'Array Slice'
|
bl_label = 'Array Slice'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ArraySpliceNode(ArmLogicTreeNode):
|
class ArraySpliceNode(ArmLogicTreeNode):
|
||||||
"""TO DO. Search for haxe array splice."""
|
"""Removes a specified amount of elements from the given array.
|
||||||
|
|
||||||
|
@see [Haxe API](https://api.haxe.org/Array.html#splice)"""
|
||||||
bl_idname = 'LNArraySpliceNode'
|
bl_idname = 'LNArraySpliceNode'
|
||||||
bl_label = 'Array Splice'
|
bl_label = 'Array Splice'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ActiveCameraNode(ArmLogicTreeNode):
|
class ActiveCameraNode(ArmLogicTreeNode):
|
||||||
"""Use to get the the active camera."""
|
"""Get the the active camera.
|
||||||
|
|
||||||
|
@seeNode Set Active Camera"""
|
||||||
bl_idname = 'LNActiveCameraNode'
|
bl_idname = 'LNActiveCameraNode'
|
||||||
bl_label = 'Get Active Camera'
|
bl_label = 'Get Active Camera'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetCameraFovNode(ArmLogicTreeNode):
|
class GetCameraFovNode(ArmLogicTreeNode):
|
||||||
"""Use to get the FOV of a camera."""
|
"""Get the field of view (FOV) of a camera.
|
||||||
|
|
||||||
|
@seeNode Set Camera FOV"""
|
||||||
bl_idname = 'LNGetCameraFovNode'
|
bl_idname = 'LNGetCameraFovNode'
|
||||||
bl_label = 'Get Camera FOV'
|
bl_label = 'Get Camera FOV'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SetCameraNode(ArmLogicTreeNode):
|
class SetCameraNode(ArmLogicTreeNode):
|
||||||
"""Use to set the active camera."""
|
"""Set the active camera.
|
||||||
|
|
||||||
|
@seeNode Get Active Camera"""
|
||||||
bl_idname = 'LNSetCameraNode'
|
bl_idname = 'LNSetCameraNode'
|
||||||
bl_label = 'Set Active Camera'
|
bl_label = 'Set Active Camera'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SetCameraFovNode(ArmLogicTreeNode):
|
class SetCameraFovNode(ArmLogicTreeNode):
|
||||||
"""Use to set the FOV of a camera."""
|
"""Set the field of view (FOV) of a camera.
|
||||||
|
|
||||||
|
@seeNode Get Camera FOV"""
|
||||||
bl_idname = 'LNSetCameraFovNode'
|
bl_idname = 'LNSetCameraFovNode'
|
||||||
bl_label = 'Set Camera FOV'
|
bl_label = 'Set Camera FOV'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class CanvasSetTextNode(ArmLogicTreeNode):
|
class CanvasSetTextNode(ArmLogicTreeNode):
|
||||||
"""Use to set the content of an UI text."""
|
"""Set the text of a element that is given by its name."""
|
||||||
bl_idname = 'LNCanvasSetTextNode'
|
bl_idname = 'LNCanvasSetTextNode'
|
||||||
bl_label = 'Set Canvas Text'
|
bl_label = 'Set Canvas Text'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class OnEventNode(ArmLogicTreeNode):
|
class OnEventNode(ArmLogicTreeNode):
|
||||||
"""Runs the output when the event is received."""
|
"""Activates the output when the given event is received.
|
||||||
|
|
||||||
|
@seeNode Send Event To Object
|
||||||
|
@seeNode Send Event"""
|
||||||
bl_idname = 'LNOnEventNode'
|
bl_idname = 'LNOnEventNode'
|
||||||
bl_label = 'On Event'
|
bl_label = 'On Event'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class OnInitNode(ArmLogicTreeNode):
|
class OnInitNode(ArmLogicTreeNode):
|
||||||
"""Runs the output when the logic starts (only once)."""
|
"""Activates the output on the first frame of execution of the logic tree."""
|
||||||
bl_idname = 'LNOnInitNode'
|
bl_idname = 'LNOnInitNode'
|
||||||
bl_label = 'On Init'
|
bl_label = 'On Init'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class OnTimerNode(ArmLogicTreeNode):
|
class OnTimerNode(ArmLogicTreeNode):
|
||||||
"""Runs the output when the time is reached."""
|
"""Activates the output when a given time elapsed (optionally repeating the timer).
|
||||||
|
|
||||||
|
@input Duration: the time in seconds after which to activate the output
|
||||||
|
@input Repeat: whether to repeat the timer"""
|
||||||
bl_idname = 'LNOnTimerNode'
|
bl_idname = 'LNOnTimerNode'
|
||||||
bl_label = 'On Timer'
|
bl_label = 'On Timer'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class OnUpdateNode(ArmLogicTreeNode):
|
class OnUpdateNode(ArmLogicTreeNode):
|
||||||
"""Runs the output in every update."""
|
"""Activates the output on every frame.
|
||||||
|
|
||||||
|
@option Update: (default) activates the output every frame.
|
||||||
|
@option Late Update: activates the output after all non-late updates are calculated.
|
||||||
|
@option Physics Pre-Update: activates the output before calculating the physics.
|
||||||
|
Only available when using a physics engine."""
|
||||||
bl_idname = 'LNOnUpdateNode'
|
bl_idname = 'LNOnUpdateNode'
|
||||||
bl_label = 'On Update'
|
bl_label = 'On Update'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,13 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SendEventNode(ArmLogicTreeNode):
|
class SendEventNode(ArmLogicTreeNode):
|
||||||
"""Use to send an event to an object."""
|
"""Send an event to an object.
|
||||||
|
|
||||||
|
@seeNode Send Event
|
||||||
|
@seeNode On Event
|
||||||
|
|
||||||
|
@input Event: the identifier of the event
|
||||||
|
@input Object: the receiving object"""
|
||||||
bl_idname = 'LNSendEventNode'
|
bl_idname = 'LNSendEventNode'
|
||||||
bl_label = 'Send Event To Object'
|
bl_label = 'Send Event To Object'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,9 +1,14 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SendGlobalEventNode(ArmLogicTreeNode):
|
class SendGlobalEventNode(ArmLogicTreeNode):
|
||||||
"""Use to send an event to all objects in the scene."""
|
"""Send an event to all objects in the scene.
|
||||||
|
|
||||||
|
@seeNode Send Event To Object
|
||||||
|
@seeNode On Event
|
||||||
|
|
||||||
|
@input Event: the identifier of the event"""
|
||||||
bl_idname = 'LNSendGlobalEventNode'
|
bl_idname = 'LNSendGlobalEventNode'
|
||||||
bl_label = 'Send Event'
|
bl_label = 'Send Global Event'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
||||||
def init(self, context):
|
def init(self, context):
|
||||||
|
|
|
@ -1,7 +1,15 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GamepadNode(ArmLogicTreeNode):
|
class GamepadNode(ArmLogicTreeNode):
|
||||||
"""Runs the output when the action over the gamepad is done."""
|
"""Activates the output when there is a gamepad event.
|
||||||
|
|
||||||
|
@seeNode Gamepad Coords
|
||||||
|
|
||||||
|
@input Gamepad: the ID of the gamepad.
|
||||||
|
|
||||||
|
@option State: the state of the gamepad button to listen to.
|
||||||
|
@option Button: the gamepad button that should activate the output.
|
||||||
|
"""
|
||||||
bl_idname = 'LNMergedGamepadNode'
|
bl_idname = 'LNMergedGamepadNode'
|
||||||
bl_label = 'Gamepad'
|
bl_label = 'Gamepad'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GamepadCoordsNode(ArmLogicTreeNode):
|
class GamepadCoordsNode(ArmLogicTreeNode):
|
||||||
"""Use to get the coordinates of a gamepad."""
|
"""Get the coordinates of different gamepad sticks.
|
||||||
|
|
||||||
|
@seeNode Gamepad
|
||||||
|
|
||||||
|
@input Gamepad: the ID of the gamepad."""
|
||||||
bl_idname = 'LNGamepadCoordsNode'
|
bl_idname = 'LNGamepadCoordsNode'
|
||||||
bl_label = 'Gamepad Coords'
|
bl_label = 'Gamepad Coords'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetCursorLocationNode(ArmLogicTreeNode):
|
class GetCursorLocationNode(ArmLogicTreeNode):
|
||||||
"""Use to get the location of the cursor in the screen (in pixels)."""
|
"""Get the mouse cursor location in screen coordinates (pixels)."""
|
||||||
bl_idname = 'LNGetCursorLocationNode'
|
bl_idname = 'LNGetCursorLocationNode'
|
||||||
bl_label = 'Get Cursor Location'
|
bl_label = 'Get Cursor Location'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -4,7 +4,13 @@ from bpy.types import Node, NodeSocket
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetCursorStateNode(ArmLogicTreeNode):
|
class GetCursorStateNode(ArmLogicTreeNode):
|
||||||
"""Use to get the state of the cursor."""
|
"""Get the state of the mouse cursor.
|
||||||
|
|
||||||
|
@seeNode Set Cursor State
|
||||||
|
|
||||||
|
@output Is Hidden Locked: `true` if the mouse cursor is both hidden and locked.
|
||||||
|
@output Is Hidden: `true` if the mouse cursor is hidden.
|
||||||
|
@output Is Locked: `true` if the mouse cursor is locked."""
|
||||||
bl_idname = 'LNGetCursorStateNode'
|
bl_idname = 'LNGetCursorStateNode'
|
||||||
bl_label = 'Get Cursor State'
|
bl_label = 'Get Cursor State'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetMouseMovementNode(ArmLogicTreeNode):
|
class GetMouseMovementNode(ArmLogicTreeNode):
|
||||||
"""Use to get the movement coordinates of the mouse."""
|
"""Get the movement coordinates of the mouse."""
|
||||||
bl_idname = 'LNGetMouseMovementNode'
|
bl_idname = 'LNGetMouseMovementNode'
|
||||||
bl_label = 'Get Mouse Movement'
|
bl_label = 'Get Mouse Movement'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetTouchLocationNode(ArmLogicTreeNode):
|
class GetTouchLocationNode(ArmLogicTreeNode):
|
||||||
"""Use to get the location of the touch (in pixels)."""
|
"""Get the location of the last touch event in screen coordinates (pixels)."""
|
||||||
bl_idname = 'LNGetTouchLocationNode'
|
bl_idname = 'LNGetTouchLocationNode'
|
||||||
bl_label = 'Get Touch Location'
|
bl_label = 'Get Touch Location'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetTouchMovementNode(ArmLogicTreeNode):
|
class GetTouchMovementNode(ArmLogicTreeNode):
|
||||||
"""Use to get the movement coordinates of the touch."""
|
"""Get the movement values of the current touch event."""
|
||||||
bl_idname = 'LNGetTouchMovementNode'
|
bl_idname = 'LNGetTouchMovementNode'
|
||||||
bl_label = 'Get Touch Movement'
|
bl_label = 'Get Touch Movement'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
||||||
def init(self, context):
|
def init(self, context):
|
||||||
super(GetTouchMovementNode, self).init(context)
|
super(GetTouchMovementNode, self).init(context)
|
||||||
self.add_input('NodeSocketFloat', 'X Multiplier' , default_value=1.0)
|
self.add_input('NodeSocketFloat', 'X Multiplier', default_value=1.0)
|
||||||
self.add_input('NodeSocketFloat', 'Y Multiplier', default_value=-1.0)
|
self.add_input('NodeSocketFloat', 'Y Multiplier', default_value=-1.0)
|
||||||
self.add_output('NodeSocketFloat', 'X')
|
self.add_output('NodeSocketFloat', 'X')
|
||||||
self.add_output('NodeSocketFloat', 'Y')
|
self.add_output('NodeSocketFloat', 'Y')
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class KeyboardNode(ArmLogicTreeNode):
|
class KeyboardNode(ArmLogicTreeNode):
|
||||||
"""Runs the output when the action over the key is done."""
|
"""Activates the output when there is a keyboard event."""
|
||||||
bl_idname = 'LNMergedKeyboardNode'
|
bl_idname = 'LNMergedKeyboardNode'
|
||||||
bl_label = 'Keyboard'
|
bl_label = 'Keyboard'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class MouseNode(ArmLogicTreeNode):
|
class MouseNode(ArmLogicTreeNode):
|
||||||
"""Runs the output when the action over the button is done."""
|
"""Activates the output when there is a mouse button event."""
|
||||||
bl_idname = 'LNMergedMouseNode'
|
bl_idname = 'LNMergedMouseNode'
|
||||||
bl_label = 'Mouse'
|
bl_label = 'Mouse'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -17,9 +17,9 @@ class NodeAddOutputButton(bpy.types.Operator):
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
global array_nodes
|
global array_nodes
|
||||||
node = array_nodes[self.node_index]
|
node = array_nodes[self.node_index]
|
||||||
outs = node.outputs
|
outs = node.outputs
|
||||||
outs.new('NodeSocketBool', self.get_name_state(len(outs), node.min_outputs))
|
outs.new('NodeSocketBool', self.get_name_state(len(outs), node.min_outputs))
|
||||||
outs.new('NodeSocketBool', self.get_name_state(len(outs), node.min_outputs))
|
outs.new('NodeSocketBool', self.get_name_state(len(outs), node.min_outputs))
|
||||||
outs.new('NodeSocketBool', self.get_name_state(len(outs), node.min_outputs))
|
outs.new('NodeSocketBool', self.get_name_state(len(outs), node.min_outputs))
|
||||||
|
@ -45,7 +45,7 @@ class NodeRemoveOutputButton(bpy.types.Operator):
|
||||||
|
|
||||||
# Class SwipeNode
|
# Class SwipeNode
|
||||||
class OnSwipeNode(ArmLogicTreeNode):
|
class OnSwipeNode(ArmLogicTreeNode):
|
||||||
"""Runs the output when the swipe is done."""
|
"""Activates the output when there is a swipe event."""
|
||||||
bl_idname = 'LNOnSwipeNode'
|
bl_idname = 'LNOnSwipeNode'
|
||||||
bl_label = 'On Swipe'
|
bl_label = 'On Swipe'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
@ -55,8 +55,8 @@ class OnSwipeNode(ArmLogicTreeNode):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
array_nodes[str(id(self))] = self
|
array_nodes[str(id(self))] = self
|
||||||
|
|
||||||
def init(self, context):
|
def init(self, context):
|
||||||
super(OnSwipeNode, self).init(context)
|
super(OnSwipeNode, self).init(context)
|
||||||
self.inputs.new('NodeSocketFloat', 'Time')
|
self.inputs.new('NodeSocketFloat', 'Time')
|
||||||
self.inputs[-1].default_value = 0.15
|
self.inputs[-1].default_value = 0.15
|
||||||
self.inputs.new('NodeSocketInt', 'Min Length (px)')
|
self.inputs.new('NodeSocketInt', 'Min Length (px)')
|
||||||
|
@ -68,14 +68,14 @@ class OnSwipeNode(ArmLogicTreeNode):
|
||||||
|
|
||||||
# Draw node buttons
|
# Draw node buttons
|
||||||
def draw_buttons(self, context, layout):
|
def draw_buttons(self, context, layout):
|
||||||
row = layout.row(align=True)
|
row = layout.row(align=True)
|
||||||
column = row.column(align=True)
|
column = row.column(align=True)
|
||||||
# Button add output
|
# Button add output
|
||||||
op = column.operator('arm.add_output_4_parameters', text='Add 4 States', icon='PLUS', emboss=True)
|
op = column.operator('arm.add_output_4_parameters', text='Add 4 States', icon='PLUS', emboss=True)
|
||||||
op.node_index = str(id(self))
|
op.node_index = str(id(self))
|
||||||
# Disable/Enabled button
|
# Disable/Enabled button
|
||||||
if (len(self.outputs) == self.max_outputs):
|
if (len(self.outputs) == self.max_outputs):
|
||||||
column.enabled = False
|
column.enabled = False
|
||||||
# Button remove output
|
# Button remove output
|
||||||
column = row.column(align=True)
|
column = row.column(align=True)
|
||||||
op2 = column.operator('arm.remove_output_4_parameters', text='', icon='X', emboss=True)
|
op2 = column.operator('arm.remove_output_4_parameters', text='', icon='X', emboss=True)
|
||||||
|
|
|
@ -2,13 +2,13 @@ from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
# Class OnTapScreen
|
# Class OnTapScreen
|
||||||
class OnTapScreen(ArmLogicTreeNode):
|
class OnTapScreen(ArmLogicTreeNode):
|
||||||
"""Runs the output when the action over the screen is done."""
|
"""Activates the output when there is a tap event."""
|
||||||
bl_idname = 'LNOnTapScreen'
|
bl_idname = 'LNOnTapScreen'
|
||||||
bl_label = 'On Tap Screen'
|
bl_label = 'On Tap Screen'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
||||||
def init(self, context):
|
def init(self, context):
|
||||||
super(OnTapScreen, self).init(context)
|
super(OnTapScreen, self).init(context)
|
||||||
self.add_input('NodeSocketFloat', 'Duration')
|
self.add_input('NodeSocketFloat', 'Duration')
|
||||||
self.inputs[-1].default_value = 0.3
|
self.inputs[-1].default_value = 0.3
|
||||||
self.add_input('NodeSocketFloat', 'Interval')
|
self.add_input('NodeSocketFloat', 'Interval')
|
||||||
|
|
|
@ -1,7 +1,13 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SetCursorStateNode(ArmLogicTreeNode):
|
class SetCursorStateNode(ArmLogicTreeNode):
|
||||||
"""Use to set the state of the cursor."""
|
"""Set the state of the mouse cursor.
|
||||||
|
|
||||||
|
@seeNode Get Cursor State
|
||||||
|
|
||||||
|
@option Hide Locked: hide and lock or unhide and unlock the mouse cursor.
|
||||||
|
@output Hide: hide/unhide the mouse cursor.
|
||||||
|
@output Lock: lock/unlock the mouse cursor."""
|
||||||
bl_idname = 'LNSetCursorStateNode'
|
bl_idname = 'LNSetCursorStateNode'
|
||||||
bl_label = 'Set Cursor State'
|
bl_label = 'Set Cursor State'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -2,7 +2,7 @@ from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
|
|
||||||
class AlternateNode(ArmLogicTreeNode):
|
class AlternateNode(ArmLogicTreeNode):
|
||||||
"""Runs the outputs 0 and 1 alternately."""
|
"""Runs the outputs 0 and 1 alternating every time it is activated."""
|
||||||
bl_idname = 'LNAlternateNode'
|
bl_idname = 'LNAlternateNode'
|
||||||
bl_label = 'Alternate'
|
bl_label = 'Alternate'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -2,7 +2,8 @@ from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
|
|
||||||
class BranchNode(ArmLogicTreeNode):
|
class BranchNode(ArmLogicTreeNode):
|
||||||
"""Runs the output True if the condition is true and the output False if the condition is false."""
|
"""When activated, activates its "True" or "False" output, according
|
||||||
|
to the state of the plugged-in boolean."""
|
||||||
bl_idname = 'LNBranchNode'
|
bl_idname = 'LNBranchNode'
|
||||||
bl_label = 'Branch'
|
bl_label = 'Branch'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class CallFunctionNode(ArmLogicTreeNode):
|
class CallFunctionNode(ArmLogicTreeNode):
|
||||||
"""Use to call a haxe function."""
|
"""Calls a function that was created by the [Function](#function) node."""
|
||||||
bl_idname = 'LNCallFunctionNode'
|
bl_idname = 'LNCallFunctionNode'
|
||||||
bl_label = 'Call Function'
|
bl_label = 'Call Function'
|
||||||
|
bl_description = 'Calls a function that was created by the Function node.'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
min_inputs = 3
|
min_inputs = 3
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,11 @@ from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
|
|
||||||
class FunctionNode(ArmLogicTreeNode):
|
class FunctionNode(ArmLogicTreeNode):
|
||||||
"""Runs the output when the function is called."""
|
"""Creates a reusable function that can be called by the
|
||||||
|
[Call Function](#call-function) node."""
|
||||||
bl_idname = 'LNFunctionNode'
|
bl_idname = 'LNFunctionNode'
|
||||||
bl_label = 'Function'
|
bl_label = 'Function'
|
||||||
|
bl_description = 'Creates a reusable function that can be called by the Call Function node'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
min_outputs = 1
|
min_outputs = 1
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,9 @@ from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
|
|
||||||
class FunctionOutputNode(ArmLogicTreeNode):
|
class FunctionOutputNode(ArmLogicTreeNode):
|
||||||
"""Use to define the connected node chain as a function."""
|
"""Set the return value for the specified function.
|
||||||
|
|
||||||
|
@seeNode Function"""
|
||||||
bl_idname = 'LNFunctionOutputNode'
|
bl_idname = 'LNFunctionOutputNode'
|
||||||
bl_label = 'Function Output'
|
bl_label = 'Function Output'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -7,7 +7,14 @@ def remove_extra_inputs(self, context):
|
||||||
self.inputs.remove(self.inputs[-1])
|
self.inputs.remove(self.inputs[-1])
|
||||||
|
|
||||||
class GateNode(ArmLogicTreeNode):
|
class GateNode(ArmLogicTreeNode):
|
||||||
"""Runs the output True if the condition is true and the output False if the condition is false. Similar: Compare node."""
|
"""Logic nodes way to do "if" statements. When activated, it
|
||||||
|
compares if its two inputs are being Equal, Greater Equal,
|
||||||
|
Less Equal, or Not Equal, regardless of variable type, and passes
|
||||||
|
through its active input to the output that matches the result of
|
||||||
|
the comparison.
|
||||||
|
|
||||||
|
"And" and "Or" are being used for booleans only, and pass through
|
||||||
|
the input when both booleans are true (And) or at least one (Or)."""
|
||||||
bl_idname = 'LNGateNode'
|
bl_idname = 'LNGateNode'
|
||||||
bl_label = 'Gate'
|
bl_label = 'Gate'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class NotNode(ArmLogicTreeNode):
|
class NotNode(ArmLogicTreeNode):
|
||||||
"""Use to invert a boolean value."""
|
"""Inverts a plugged in boolean, so if its input is `true` it outputs `false`."""
|
||||||
bl_idname = 'LNNotNode'
|
bl_idname = 'LNNotNode'
|
||||||
bl_label = 'Inverse Bool'
|
bl_label = 'Inverse Bool'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -2,7 +2,7 @@ from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
|
|
||||||
class InverseNode(ArmLogicTreeNode):
|
class InverseNode(ArmLogicTreeNode):
|
||||||
"""Runs the output only if the connected input is not running."""
|
"""Activates the output if the input is not active."""
|
||||||
bl_idname = 'LNInverseNode'
|
bl_idname = 'LNInverseNode'
|
||||||
bl_label = 'Inverse Output'
|
bl_label = 'Inverse Output'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -2,7 +2,10 @@ from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
|
|
||||||
class IsFalseNode(ArmLogicTreeNode):
|
class IsFalseNode(ArmLogicTreeNode):
|
||||||
"""Runs the output if the input is false."""
|
"""Passes through its activation only if the plugged in boolean
|
||||||
|
equals `false`.
|
||||||
|
|
||||||
|
@seeNode Is True"""
|
||||||
bl_idname = 'LNIsFalseNode'
|
bl_idname = 'LNIsFalseNode'
|
||||||
bl_label = 'Is False'
|
bl_label = 'Is False'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -2,7 +2,10 @@ from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
|
|
||||||
class IsNoneNode(ArmLogicTreeNode):
|
class IsNoneNode(ArmLogicTreeNode):
|
||||||
"""Runs the output if the input value is null."""
|
"""Passes through its activation only if the plugged in value is
|
||||||
|
`null` (no value).
|
||||||
|
|
||||||
|
@seeNode Is Not None"""
|
||||||
bl_idname = 'LNIsNoneNode'
|
bl_idname = 'LNIsNoneNode'
|
||||||
bl_label = 'Is None'
|
bl_label = 'Is None'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class IsNotNoneNode(ArmLogicTreeNode):
|
class IsNotNoneNode(ArmLogicTreeNode):
|
||||||
"""Runs the output if the input value is not null."""
|
"""Passes through its activation only if the plugged in value is
|
||||||
|
not `null`.
|
||||||
|
|
||||||
|
@seeNode Is None"""
|
||||||
bl_idname = 'LNIsNotNoneNode'
|
bl_idname = 'LNIsNotNoneNode'
|
||||||
bl_label = 'Is Not None'
|
bl_label = 'Is Not None'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class IsTrueNode(ArmLogicTreeNode):
|
class IsTrueNode(ArmLogicTreeNode):
|
||||||
"""Runs the output if the input value is true."""
|
"""Passes through its activation only if the plugged in boolean
|
||||||
|
equals `true`.
|
||||||
|
|
||||||
|
@seeNode Is False"""
|
||||||
bl_idname = 'LNIsTrueNode'
|
bl_idname = 'LNIsTrueNode'
|
||||||
bl_label = 'Is True'
|
bl_label = 'Is True'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,9 +1,22 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class LoopNode(ArmLogicTreeNode):
|
class LoopNode(ArmLogicTreeNode):
|
||||||
"""TO DO."""
|
"""Resembles a for-loop (`for (i in from...to)`) that is executed at
|
||||||
|
once when this node is activated.
|
||||||
|
|
||||||
|
@seeNode While
|
||||||
|
@seeNode Loop Break
|
||||||
|
|
||||||
|
@input From: The value to start the loop from (inclusive)
|
||||||
|
@input To: The value to end the loop at (exclusive)
|
||||||
|
|
||||||
|
@output Loop: Active at every iteration of the loop
|
||||||
|
@output Index: The index for the current iteration
|
||||||
|
@output Done: Activated once when the looping is done
|
||||||
|
"""
|
||||||
bl_idname = 'LNLoopNode'
|
bl_idname = 'LNLoopNode'
|
||||||
bl_label = 'Loop'
|
bl_label = 'Loop'
|
||||||
|
bl_description = 'Resembles a for-loop that is executed at once when this node is activated'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
||||||
def init(self, context):
|
def init(self, context):
|
||||||
|
|
|
@ -1,7 +1,12 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class LoopBreakNode(ArmLogicTreeNode):
|
class LoopBreakNode(ArmLogicTreeNode):
|
||||||
"""TO DO."""
|
"""Terminates the currently executing loop (only one loop is
|
||||||
|
executed at once).
|
||||||
|
|
||||||
|
@seeNode Loop
|
||||||
|
@seeNode While
|
||||||
|
"""
|
||||||
bl_idname = 'LNLoopBreakNode'
|
bl_idname = 'LNLoopBreakNode'
|
||||||
bl_label = 'Loop Break'
|
bl_label = 'Loop Break'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class MergeNode(ArmLogicTreeNode):
|
class MergeNode(ArmLogicTreeNode):
|
||||||
"""Runs the output when any connected input is running. The output execution will vary depending of inputs connected to it running."""
|
"""Activates the output when any connected input is active.
|
||||||
|
|
||||||
|
@option New: Add a new input socket.
|
||||||
|
@option X Button: Remove the lowermost input socket."""
|
||||||
bl_idname = 'LNMergeNode'
|
bl_idname = 'LNMergeNode'
|
||||||
bl_label = 'Merge'
|
bl_label = 'Merge'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class NoneNode(ArmLogicTreeNode):
|
class NoneNode(ArmLogicTreeNode):
|
||||||
"""A null value that can be used in comparisons and conditions."""
|
"""A `null` value that can be used in comparisons and conditions."""
|
||||||
bl_idname = 'LNNoneNode'
|
bl_idname = 'LNNoneNode'
|
||||||
bl_label = 'None'
|
bl_label = 'None'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SequenceNode(ArmLogicTreeNode):
|
class SequenceNode(ArmLogicTreeNode):
|
||||||
"""Runs the outputs one per time sequentially."""
|
"""Runs the outputs one by one sequentially and repeatedly."""
|
||||||
bl_idname = 'LNSequenceNode'
|
bl_idname = 'LNSequenceNode'
|
||||||
bl_label = 'Sequence'
|
bl_label = 'Sequence'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SwitchNode(ArmLogicTreeNode):
|
class SwitchNode(ArmLogicTreeNode):
|
||||||
"""Runs the outputs depending of the value. Example: If 'value' is equal to 'case 1', the output 'case 1' will run."""
|
"""Runs the outputs depending of the value. Example: If 'value' is equal to 'case 1', the output 'case 1' will run.
|
||||||
|
|
||||||
|
@output Default: Activated if the input value does not match any case.
|
||||||
|
"""
|
||||||
bl_idname = 'LNSwitchNode'
|
bl_idname = 'LNSwitchNode'
|
||||||
bl_label = 'Switch'
|
bl_label = 'Switch'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ToBoolNode(ArmLogicTreeNode):
|
class ToBoolNode(ArmLogicTreeNode):
|
||||||
"""Convert an output to boolean. If the output is running, the boolean is true; if not, the boolean is false."""
|
"""Converts a signal to a boolean value. If the input signal is
|
||||||
|
active, the boolean is `true`; if not, the boolean is `false`."""
|
||||||
bl_idname = 'LNToBoolNode'
|
bl_idname = 'LNToBoolNode'
|
||||||
bl_label = 'To Bool'
|
bl_label = 'To Bool'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,15 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class WhileNode(ArmLogicTreeNode):
|
class WhileNode(ArmLogicTreeNode):
|
||||||
"""TO DO."""
|
"""Loops while the condition is `True`.
|
||||||
|
|
||||||
|
@seeNode Loop
|
||||||
|
@seeNode Loop Break
|
||||||
|
|
||||||
|
@input Condition: boolean that resembles the result of the condition
|
||||||
|
|
||||||
|
@output Loop: Activated on every iteration step
|
||||||
|
@output Done: Activated when the loop is done executing"""
|
||||||
bl_idname = 'LNWhileNode'
|
bl_idname = 'LNWhileNode'
|
||||||
bl_label = 'While'
|
bl_label = 'While'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SleepNode(ArmLogicTreeNode):
|
class SleepNode(ArmLogicTreeNode):
|
||||||
"""Use to delay between an running output and a input."""
|
"""Waits a specified amount of time (in seconds) until passing
|
||||||
|
through the incoming signal."""
|
||||||
bl_idname = 'LNSleepNode'
|
bl_idname = 'LNSleepNode'
|
||||||
bl_label = 'Sleep'
|
bl_label = 'Sleep'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class CallHaxeStaticNode(ArmLogicTreeNode):
|
class CallHaxeStaticNode(ArmLogicTreeNode):
|
||||||
"""Use to call a static haxe function."""
|
"""Call a static haxe function.
|
||||||
|
|
||||||
|
@input Function: the full module path to the function.
|
||||||
|
@output Result: the result of the function."""
|
||||||
bl_idname = 'LNCallHaxeStaticNode'
|
bl_idname = 'LNCallHaxeStaticNode'
|
||||||
bl_label = 'Call Haxe Static'
|
bl_label = 'Call Haxe Static'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ExpressionNode(ArmLogicTreeNode):
|
class ExpressionNode(ArmLogicTreeNode):
|
||||||
"""Use to get the value of an defined expression."""
|
"""Evaluate a Haxe expression and get its output.
|
||||||
|
|
||||||
|
@output Result: the result of the expression."""
|
||||||
bl_idname = 'LNExpressionNode'
|
bl_idname = 'LNExpressionNode'
|
||||||
bl_label = 'Expression'
|
bl_label = 'Expression'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetHaxePropertyNode(ArmLogicTreeNode):
|
class GetHaxePropertyNode(ArmLogicTreeNode):
|
||||||
"""Use to get a haxe property."""
|
"""Get a property of an Haxe object (via the Reflection API).
|
||||||
|
|
||||||
|
@seeNode Set Haxe Property"""
|
||||||
bl_idname = 'LNGetHaxePropertyNode'
|
bl_idname = 'LNGetHaxePropertyNode'
|
||||||
bl_label = 'Get Haxe Property'
|
bl_label = 'Get Haxe Property'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class LoadUrlNode(ArmLogicTreeNode):
|
class LoadUrlNode(ArmLogicTreeNode):
|
||||||
"""Use to load a URL in a new tab. Works only for Browsers."""
|
"""Load a URL in a new tab (works only for web browsers)."""
|
||||||
bl_idname = 'LNLoadUrlNode'
|
bl_idname = 'LNLoadUrlNode'
|
||||||
bl_label = 'Load URL'
|
bl_label = 'Load URL'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class PrintNode(ArmLogicTreeNode):
|
class PrintNode(ArmLogicTreeNode):
|
||||||
"""Use to print a content in the console."""
|
"""Prints the given value to the console."""
|
||||||
bl_idname = 'LNPrintNode'
|
bl_idname = 'LNPrintNode'
|
||||||
bl_label = 'Print'
|
bl_label = 'Print'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ReadFileNode(ArmLogicTreeNode):
|
class ReadFileNode(ArmLogicTreeNode):
|
||||||
"""Use to get the content of a file."""
|
"""Get the content of a file.
|
||||||
|
|
||||||
|
@seeNode Write File"""
|
||||||
bl_idname = 'LNReadFileNode'
|
bl_idname = 'LNReadFileNode'
|
||||||
bl_label = 'Read File'
|
bl_label = 'Read File'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ReadJsonNode(ArmLogicTreeNode):
|
class ReadJsonNode(ArmLogicTreeNode):
|
||||||
"""Use to get the content of a JSON file."""
|
"""Get the content of a JSON file.
|
||||||
|
|
||||||
|
@seeNode Write JSON"""
|
||||||
bl_idname = 'LNReadJsonNode'
|
bl_idname = 'LNReadJsonNode'
|
||||||
bl_label = 'Read JSON'
|
bl_label = 'Read JSON'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ReadStorageNode(ArmLogicTreeNode):
|
class ReadStorageNode(ArmLogicTreeNode):
|
||||||
"""Use to read a stored content."""
|
"""Use to read a stored content.
|
||||||
|
|
||||||
|
@seeNode Write Storage"""
|
||||||
bl_idname = 'LNReadStorageNode'
|
bl_idname = 'LNReadStorageNode'
|
||||||
bl_label = 'Read Storage'
|
bl_label = 'Read Storage'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SetHaxePropertyNode(ArmLogicTreeNode):
|
class SetHaxePropertyNode(ArmLogicTreeNode):
|
||||||
"""Use to set the content of a haxe property."""
|
"""Set a property of an Haxe object (via the Reflection API).
|
||||||
|
|
||||||
|
@seeNode Get Haxe Property"""
|
||||||
bl_idname = 'LNSetHaxePropertyNode'
|
bl_idname = 'LNSetHaxePropertyNode'
|
||||||
bl_label = 'Set Haxe Property'
|
bl_label = 'Set Haxe Property'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ShutdownNode(ArmLogicTreeNode):
|
class ShutdownNode(ArmLogicTreeNode):
|
||||||
"""Use to close the application."""
|
"""Close the application."""
|
||||||
bl_idname = 'LNShutdownNode'
|
bl_idname = 'LNShutdownNode'
|
||||||
bl_label = 'Shutdown'
|
bl_label = 'Shutdown'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class WriteFileNode(ArmLogicTreeNode):
|
class WriteFileNode(ArmLogicTreeNode):
|
||||||
"""Use to write a content inside a file."""
|
"""Use to write a content inside a file.
|
||||||
|
|
||||||
|
@seeNode Read File"""
|
||||||
bl_idname = 'LNWriteFileNode'
|
bl_idname = 'LNWriteFileNode'
|
||||||
bl_label = 'Write File'
|
bl_label = 'Write File'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class WriteJsonNode(ArmLogicTreeNode):
|
class WriteJsonNode(ArmLogicTreeNode):
|
||||||
"""Use to write the content of a JSON file."""
|
"""Use to write the content of a JSON file.
|
||||||
|
|
||||||
|
@seeNode Read JSON"""
|
||||||
bl_idname = 'LNWriteJsonNode'
|
bl_idname = 'LNWriteJsonNode'
|
||||||
bl_label = 'Write JSON'
|
bl_label = 'Write JSON'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class WriteStorageNode(ArmLogicTreeNode):
|
class WriteStorageNode(ArmLogicTreeNode):
|
||||||
"""Use to store a content into a file."""
|
"""Use to store a content into a file.
|
||||||
|
|
||||||
|
@seeNode Read Storage"""
|
||||||
bl_idname = 'LNWriteStorageNode'
|
bl_idname = 'LNWriteStorageNode'
|
||||||
bl_label = 'Write Storage'
|
bl_label = 'Write Storage'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetDistanceNode(ArmLogicTreeNode):
|
class GetDistanceNode(ArmLogicTreeNode):
|
||||||
"""Use to get the distance between two objects. For distance between two locations, use 'Distance' operator in 'Vector Math' node."""
|
"""Get the euclidian distance between the two given objects.
|
||||||
|
|
||||||
|
@see For distance between two locations, use the `Distance` operator
|
||||||
|
in the *[`Vector Math`](#vector-math)* node."""
|
||||||
bl_idname = 'LNGetDistanceNode'
|
bl_idname = 'LNGetDistanceNode'
|
||||||
bl_label = 'Get Distance'
|
bl_label = 'Get Distance'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -4,7 +4,7 @@ from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
|
|
||||||
class GetObjectNode(ArmLogicTreeNode):
|
class GetObjectNode(ArmLogicTreeNode):
|
||||||
"""Use to get an object by its name."""
|
"""Searches for an object by its name and returns it."""
|
||||||
bl_idname = 'LNGetObjectNode'
|
bl_idname = 'LNGetObjectNode'
|
||||||
bl_label = 'Get Object'
|
bl_label = 'Get Object'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetChildNode(ArmLogicTreeNode):
|
class GetChildNode(ArmLogicTreeNode):
|
||||||
"""Use to get the child of an object."""
|
"""Get the child of an object by the child object's name."""
|
||||||
bl_idname = 'LNGetChildNode'
|
bl_idname = 'LNGetChildNode'
|
||||||
bl_label = 'Get Object Child'
|
bl_label = 'Get Object Child'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetParentNode(ArmLogicTreeNode):
|
class GetParentNode(ArmLogicTreeNode):
|
||||||
"""Use to get the parent of an object."""
|
"""Returns the direct parent (nearest in the hierarchy) of an object.
|
||||||
|
|
||||||
|
@seeNode Set Object Parent"""
|
||||||
bl_idname = 'LNGetParentNode'
|
bl_idname = 'LNGetParentNode'
|
||||||
bl_label = 'Get Object Parent'
|
bl_label = 'Get Object Parent'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetPropertyNode(ArmLogicTreeNode):
|
class GetPropertyNode(ArmLogicTreeNode):
|
||||||
"""Use to get the property value of an object."""
|
"""Get the value of an object property.
|
||||||
|
|
||||||
|
@seeNode Set Object Property"""
|
||||||
bl_idname = 'LNGetPropertyNode'
|
bl_idname = 'LNGetPropertyNode'
|
||||||
bl_label = 'Get Object Property'
|
bl_label = 'Get Object Property'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetVisibleNode(ArmLogicTreeNode):
|
class GetVisibleNode(ArmLogicTreeNode):
|
||||||
"""Use to get if an object or its components are visible."""
|
"""Returns whether a given object or its visual components are
|
||||||
|
visible.
|
||||||
|
|
||||||
|
@seeNode Set Object Visible"""
|
||||||
bl_idname = 'LNGetVisibleNode'
|
bl_idname = 'LNGetVisibleNode'
|
||||||
bl_label = 'Get Object Visible'
|
bl_label = 'Get Object Visible'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SetParentNode(ArmLogicTreeNode):
|
class SetParentNode(ArmLogicTreeNode):
|
||||||
"""Use to set the parent of an object."""
|
"""Set the direct parent (nearest in the hierarchy) of an object.
|
||||||
|
|
||||||
|
@seeNode Get Object Parent"""
|
||||||
bl_idname = 'LNSetParentNode'
|
bl_idname = 'LNSetParentNode'
|
||||||
bl_label = 'Set Object Parent'
|
bl_label = 'Set Object Parent'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SetPropertyNode(ArmLogicTreeNode):
|
class SetPropertyNode(ArmLogicTreeNode):
|
||||||
"""Use to set the value of an object property."""
|
"""Set the value of an object property.
|
||||||
|
|
||||||
|
This node can be used to share variables between different traits.
|
||||||
|
If the trait(s) you want to access the variable with are on
|
||||||
|
different objects, use the *[`Global Object`](#global-object)*
|
||||||
|
node to store the data. Every trait can access this one.
|
||||||
|
|
||||||
|
@seeNode Get Object Property"""
|
||||||
bl_idname = 'LNSetPropertyNode'
|
bl_idname = 'LNSetPropertyNode'
|
||||||
bl_label = 'Set Object Property'
|
bl_label = 'Set Object Property'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class SetVisibleNode(ArmLogicTreeNode):
|
class SetVisibleNode(ArmLogicTreeNode):
|
||||||
"""Use to set if an object is visible."""
|
"""Set the visibility of a given object.
|
||||||
|
|
||||||
|
@seeNode Get Object Visible"""
|
||||||
bl_idname = 'LNSetVisibleNode'
|
bl_idname = 'LNSetVisibleNode'
|
||||||
bl_label = 'Set Object Visible'
|
bl_label = 'Set Object Visible'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,16 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ApplyForceNode(ArmLogicTreeNode):
|
class ApplyForceNode(ArmLogicTreeNode):
|
||||||
"""Use to apply force to a rigid body."""
|
"""Applies a specified force to a given rigid body.
|
||||||
|
|
||||||
|
@seeNode Apply Force At Location
|
||||||
|
@seeNode Apply Impulse
|
||||||
|
@seeNode Apply Impulse At Location
|
||||||
|
|
||||||
|
@input Force: the force vector
|
||||||
|
@input On Local Axis: if `true`, interpret the force vector as in
|
||||||
|
object space
|
||||||
|
"""
|
||||||
bl_idname = 'LNApplyForceNode'
|
bl_idname = 'LNApplyForceNode'
|
||||||
bl_label = 'Apply Force'
|
bl_label = 'Apply Force'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,19 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ApplyForceAtLocationNode(ArmLogicTreeNode):
|
class ApplyForceAtLocationNode(ArmLogicTreeNode):
|
||||||
"""Use to apply force to a rigid body in at a specific location."""
|
"""Applies a force to a rigid body at a specified position.
|
||||||
|
|
||||||
|
@seeNode Apply Force
|
||||||
|
@seeNode Apply Impulse
|
||||||
|
@seeNode Apply Impulse At Location
|
||||||
|
|
||||||
|
@input Force: the force vector
|
||||||
|
@input Force On Local Axis: if `true`, interpret the force vector as in
|
||||||
|
object space
|
||||||
|
@input Location: the location where to apply the force
|
||||||
|
@input Location On Local Axis: if `true`, use the location relative
|
||||||
|
to the objects location, otherwise use world coordinates
|
||||||
|
"""
|
||||||
bl_idname = 'LNApplyForceAtLocationNode'
|
bl_idname = 'LNApplyForceAtLocationNode'
|
||||||
bl_label = 'Apply Force At Location'
|
bl_label = 'Apply Force At Location'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,16 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ApplyImpulseNode(ArmLogicTreeNode):
|
class ApplyImpulseNode(ArmLogicTreeNode):
|
||||||
"""Use to apply impulse in a rigid body."""
|
"""Applies a specified impulse to a given rigid body.
|
||||||
|
|
||||||
|
@seeNode Apply Impulse At Location
|
||||||
|
@seeNode Apply Force
|
||||||
|
@seeNode Apply Force At Location
|
||||||
|
|
||||||
|
@input Impulse: the impulse vector
|
||||||
|
@input On Local Axis: if `true`, interpret the impulse vector as in
|
||||||
|
object space
|
||||||
|
"""
|
||||||
bl_idname = 'LNApplyImpulseNode'
|
bl_idname = 'LNApplyImpulseNode'
|
||||||
bl_label = 'Apply Impulse'
|
bl_label = 'Apply Impulse'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,19 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class ApplyImpulseAtLocationNode(ArmLogicTreeNode):
|
class ApplyImpulseAtLocationNode(ArmLogicTreeNode):
|
||||||
"""Use to apply impulse in a rigid body at a specific location."""
|
"""Applies an impulse to a rigid body at a specified position.
|
||||||
|
|
||||||
|
@seeNode Apply Impulse
|
||||||
|
@seeNode Apply Force
|
||||||
|
@seeNode Apply Force At Location
|
||||||
|
|
||||||
|
@input Impulse: the impulse vector
|
||||||
|
@input Impulse On Local Axis: if `true`, interpret the impulse vector as in
|
||||||
|
object space
|
||||||
|
@input Location: the location where to apply the impulse
|
||||||
|
@input Location On Local Axis: if `true`, use the location relative
|
||||||
|
to the objects location, otherwise use world coordinates
|
||||||
|
"""
|
||||||
bl_idname = 'LNApplyImpulseAtLocationNode'
|
bl_idname = 'LNApplyImpulseAtLocationNode'
|
||||||
bl_label = 'Apply Impulse At Location'
|
bl_label = 'Apply Impulse At Location'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetContactsNode(ArmLogicTreeNode):
|
class GetContactsNode(ArmLogicTreeNode):
|
||||||
"""Use to get the contacts of a rigid body."""
|
"""Returns an array with all objects that are colliding with the
|
||||||
|
given object.
|
||||||
|
|
||||||
|
@seeNode Get First Contact
|
||||||
|
"""
|
||||||
bl_idname = 'LNGetContactsNode'
|
bl_idname = 'LNGetContactsNode'
|
||||||
bl_label = 'Get Contacts'
|
bl_label = 'Get Contacts'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
from arm.logicnode.arm_nodes import *
|
from arm.logicnode.arm_nodes import *
|
||||||
|
|
||||||
class GetFirstContactNode(ArmLogicTreeNode):
|
class GetFirstContactNode(ArmLogicTreeNode):
|
||||||
"""Use to get the first contact of a rigid body."""
|
"""Returns the first object that is colliding with the given object.
|
||||||
|
|
||||||
|
@seeNode Get Contacts
|
||||||
|
"""
|
||||||
bl_idname = 'LNGetFirstContactNode'
|
bl_idname = 'LNGetFirstContactNode'
|
||||||
bl_label = 'Get First Contact'
|
bl_label = 'Get First Contact'
|
||||||
arm_version = 1
|
arm_version = 1
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue