Add/Get/Remove Group nodes

This commit is contained in:
Lubos Lenco 2017-11-27 10:07:33 +01:00
parent b2c0538a6e
commit 06bdbd1ac0
6 changed files with 98 additions and 0 deletions

View file

@ -0,0 +1,18 @@
package armory.logicnode;
class AddGroupNode extends LogicNode {
public function new(tree:LogicTree) {
super(tree);
}
override function run() {
var groupName:String = inputs[1].get();
if (iron.Scene.active.groups.get(groupName) == null) {
iron.Scene.active.groups.set(groupName, []);
}
super.run();
}
}

View file

@ -0,0 +1,14 @@
package armory.logicnode;
class GetGroupNode extends LogicNode {
public function new(tree:LogicTree) {
super(tree);
}
override function get(from:Int):Dynamic {
var groupName:String = inputs[0].get();
return iron.Scene.active.groups.get(groupName);
}
}

View file

@ -0,0 +1,16 @@
package armory.logicnode;
class RemoveGroupNode extends LogicNode {
public function new(tree:LogicTree) {
super(tree);
}
override function run() {
var groupName:String = inputs[1].get();
iron.Scene.active.groups.remove(groupName);
super.run();
}
}

View file

@ -0,0 +1,17 @@
import bpy
from bpy.props import *
from bpy.types import Node, NodeSocket
from arm.logicnode.arm_nodes import *
class AddGroupNode(Node, ArmLogicTreeNode):
'''Add Group node'''
bl_idname = 'LNAddGroupNode'
bl_label = 'Add Group'
bl_icon = 'GAME'
def init(self, context):
self.inputs.new('ArmNodeSocketAction', 'In')
self.inputs.new('NodeSocketString', 'Group')
self.outputs.new('ArmNodeSocketAction', 'Out')
add_node(AddGroupNode, category='Action')

View file

@ -0,0 +1,17 @@
import bpy
from bpy.props import *
from bpy.types import Node, NodeSocket
from arm.logicnode.arm_nodes import *
class RemoveGroupNode(Node, ArmLogicTreeNode):
'''Remove Group node'''
bl_idname = 'LNRemoveGroupNode'
bl_label = 'Remove Group'
bl_icon = 'GAME'
def init(self, context):
self.inputs.new('ArmNodeSocketAction', 'In')
self.inputs.new('NodeSocketString', 'Group')
self.outputs.new('ArmNodeSocketAction', 'Out')
add_node(RemoveGroupNode, category='Action')

View file

@ -0,0 +1,16 @@
import bpy
from bpy.props import *
from bpy.types import Node, NodeSocket
from arm.logicnode.arm_nodes import *
class GetGroupNode(Node, ArmLogicTreeNode):
'''Get group node'''
bl_idname = 'LNGetGroupNode'
bl_label = 'Get Group'
bl_icon = 'GAME'
def init(self, context):
self.inputs.new('NodeSocketString', 'Name')
self.outputs.new('NodeSocketShader', 'Array')
add_node(GetGroupNode, category='Value')