2 # ==============================================================================
3 # Baseclass for all property controlled elements/objects
5 var PropertyElement = {
8 # @param node Node to be used for element or vector [parent, type] for
9 # creation of a new node with name type and given parent
10 # @param id ID/Name (Should be unique)
13 if( typeof(node) == 'vector' )
14 var node = aircraft.makeNode(node[0]).addChild(node[1], 0, 0);
16 var node = aircraft.makeNode(node);
18 if( !isa(node, props.Node) )
19 return debug.warn("Not a props.Node!");
22 parents: [PropertyElement],
31 # Destructor (has to be called manually!)
38 me._node.getNode(key, 1).setValue(value);
41 setBool: func(key, value)
43 me._node.getNode(key, 1).setBoolValue(value);
46 setDouble: func(key, value)
48 me._node.getNode(key, 1).setDoubleValue(value);
51 setInt: func(key, value)
53 me._node.getNode(key, 1).setIntValue(value);
56 get: func(key, default = nil)
58 var node = me._node.getNode(key);
60 return node.getValue();
66 me._node.getNode(key, 1).getBoolValue();
68 # Trigger an update of the element
70 # Elements are automatically updated once a frame, with a delay of one frame.
71 # If you wan't to get an element updated in the current frame you have to use
75 me.setBool("update", 1);