Global madness

This commit is contained in:
2025-09-14 01:48:37 +02:00
parent 2d74a87b14
commit 8823132e8e
14 changed files with 91 additions and 41 deletions

View File

@@ -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

View File

@@ -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()

View File

@@ -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"]