Global madness
This commit is contained in:
@@ -3,6 +3,13 @@ class_name ESCItemComponentGlobalBooleanObserver
|
||||
|
||||
@export var targeted_global_variable: String
|
||||
@export var inverted: bool
|
||||
@export var targeted_property: TargetProperty
|
||||
|
||||
enum TargetProperty {
|
||||
active,
|
||||
visible,
|
||||
interactive
|
||||
}
|
||||
|
||||
func get_component_type():
|
||||
return "global-boolean-observer"
|
||||
@@ -20,6 +27,14 @@ func _process(delta: float) -> void:
|
||||
var global_value = escoria.globals_manager.get_global(targeted_global_variable)
|
||||
if global_value == null:
|
||||
return
|
||||
|
||||
var output_value = !global_value if inverted else global_value
|
||||
|
||||
escoria.object_manager.get_object(get_global_id()).active = !global_value if inverted else global_value
|
||||
if targeted_property == TargetProperty.active:
|
||||
escoria.object_manager.get_object(get_global_id()).active = output_value
|
||||
|
||||
elif targeted_property == TargetProperty.visible:
|
||||
get_parent().visible = output_value
|
||||
|
||||
elif targeted_property == TargetProperty.interactive:
|
||||
escoria.object_manager.get_object(get_global_id()).active = output_value
|
||||
|
||||
@@ -15,7 +15,11 @@ func _on_escoria_global_changed(global: String, old_value, new_value) -> void:
|
||||
|
||||
labelContainer.add_child(label)
|
||||
var count = labelContainer.get_child_count()
|
||||
if labelContainer.get_child_count() > 11:
|
||||
var child = labelContainer.get_child(0)
|
||||
|
||||
func clear():
|
||||
for child in labelContainer.get_children():
|
||||
labelContainer.remove_child(child)
|
||||
child.queue_free()
|
||||
|
||||
func _on_clear_button_pressed() -> void:
|
||||
clear()
|
||||
|
||||
@@ -8,6 +8,17 @@ anchors_preset = 0
|
||||
script = ExtResource("1_42y5j")
|
||||
labelContainer = NodePath("PanelContainer/MarginContainer/VBoxContainer/ScrollContainer/LabelContainer")
|
||||
|
||||
[node name="ClearButton" type="Button" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 2
|
||||
anchor_top = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_top = -40.0
|
||||
offset_right = 53.0
|
||||
grow_vertical = 0
|
||||
text = "Clear
|
||||
"
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="."]
|
||||
layout_mode = 0
|
||||
offset_right = 40.0
|
||||
@@ -26,3 +37,5 @@ layout_mode = 2
|
||||
|
||||
[node name="LabelContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/ScrollContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[connection signal="pressed" from="ClearButton" to="." method="_on_clear_button_pressed"]
|
||||
|
||||
Reference in New Issue
Block a user