diff --git a/core/IvmiNode.gd b/core/IvmiNode.gd index 73602ff8d13d2b672baaeaad3a9674a8805ff960..5061ba916d481e4aa2c59d202131551aab66af41 100644 --- a/core/IvmiNode.gd +++ b/core/IvmiNode.gd @@ -46,7 +46,7 @@ func _allow_send_data(value : bool): _send_data = value func _add_property(prop, values) -> void : - _properties[prop] = load("res://addons/ivmi-builder/core/IvmiProperty.gd").new() + _properties[prop] = IvmiProperty.new() _properties[prop].init_values(values) _properties[prop].set_ivmi_node(self) _properties[prop].set_name(prop) @@ -129,22 +129,22 @@ func _get_ivmi_type(): return _ivmi_type func _process(delta): - if is_inside_tree(): - #get cam dist if needed + #get cam dist if needed + if _properties.has("distance_to_camera") : if _properties["distance_to_camera"]._listen: var cam_pos = get_viewport().get_camera_3d().to_global(Vector3(0,0,0)) var obj_pos = to_global(Vector3(0,0,0)) _properties["distance_to_camera"].set_values([(cam_pos-obj_pos).length()]) - - #output all values listened to which have changed - if _send_data: - for k in _properties.keys(): - if _properties[k]._changed : - if _properties[k]._listen : - _ivmi.send(name+"/"+k, _properties[k]._tags, get_property(k)) - if _properties[k]._record and _ivmi.is_recording(): - _ivmi.record_property(name+"/"+k, _properties[k]._tags, get_property(k)) - _properties[k]._changed=false + + #output all values listened to which have changed + if _send_data: + for k in _properties.keys(): + if _properties[k]._changed : + if _properties[k]._listen : + _ivmi.send(name+"/"+k, _properties[k]._tags, get_property(k)) + if _properties[k]._record and _ivmi.is_recording(): + _ivmi.record_property(name+"/"+k, _properties[k]._tags, get_property(k)) + _properties[k]._changed=false func send_prop(prop) : diff --git a/techniques/control/Button/Button.gd b/techniques/control/Button/Button.gd index 54d4216cb7d403d57a828b001c4ea8421bb0534c..384b714c6d00fdfba2d3232340534d532c5c93a6 100644 --- a/techniques/control/Button/Button.gd +++ b/techniques/control/Button/Button.gd @@ -1,4 +1,4 @@ -extends "res://addons/ivmi-builder/core/IvmiNode.gd" +extends IvmiNode signal button_pressed signal button_released @@ -10,8 +10,12 @@ signal button_released @export var release_speed = 8 func _ready(): + super._ready() _add_property("triggered", [0]) +func _process(delta): + super._process(delta) + func _physics_process(delta): if get_property("triggered")[0]: _button.position = lerp(_button.position,_released_position,delta * release_speed) diff --git a/techniques/control/Button/Button_v3.gd b/techniques/control/Button/Button_v3.gd index acdd369509c9eab9675b85cb4a78b4f0eeee643d..3b54c86ae7dfe1a1cc1e64c48b91c9f074782bb3 100644 --- a/techniques/control/Button/Button_v3.gd +++ b/techniques/control/Button/Button_v3.gd @@ -1,4 +1,4 @@ -extends "res://addons/ivmi-builder/core/IvmiNode.gd" +extends IvmiNode @onready var _button = get_node("Button") @onready var _pressed_position = get_node("Pressed").position @@ -9,8 +9,12 @@ extends "res://addons/ivmi-builder/core/IvmiNode.gd" var _moving = false func _ready(): + super._ready() _add_property("triggered", [0]) +func _process(delta): + super._process(delta) + func _physics_process(delta): if !get_property("triggered")[0] and _moving: _button.position = lerp(_button.position,_released_position,delta * release_speed) diff --git a/techniques/technique.gd b/techniques/technique.gd index 09ce6b064307b6b0076c9d804543fddfae23b187..e14bb801ee4352956ee2327615b5e0a2251d5154 100644 --- a/techniques/technique.gd +++ b/techniques/technique.gd @@ -5,13 +5,14 @@ extends IvmiNode var _speed_evaluation_time = 0 -func _init(): - super._init() +func _ready(): + super._ready() _set_ivmi_type("technique") add_to_group("ivmi_techniques") _add_property("speed", [0]) func _process(delta): + super._process(delta) if _properties["speed"]._listen: _speed_evaluation_time += delta if _speed_evaluation_time >= _speed_evaluation_delay: