update event binder
This commit is contained in:
parent
0a5c60f2ea
commit
448aeaf20d
@ -16,7 +16,7 @@ class_name EventBinder extends Node
|
||||
@export_range(0, 10000, 1) var trigger_stage := 1
|
||||
@export var trigger_set_stage_if_greater := true
|
||||
|
||||
var _local_enable_event_stage := 0
|
||||
var _local_updater_event_stage := 0
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@ -27,8 +27,8 @@ func _ready() -> void:
|
||||
if not parent:
|
||||
printerr("[EventBinder] bind_enable is true but parent is null. path: %s" % get_path())
|
||||
return
|
||||
_local_enable_event_stage = EventManager.get_stage(updater_event)
|
||||
_update_binding_state(_local_enable_event_stage)
|
||||
_local_updater_event_stage = EventManager.get_stage(updater_event)
|
||||
_update_binding_state(_local_updater_event_stage)
|
||||
EventManager.stage_updated.connect(_on_global_stage_updated)
|
||||
if not trigger_event.is_empty():
|
||||
# connect trigger_mode signal
|
||||
@ -56,7 +56,7 @@ func _on_happened() -> void:
|
||||
|
||||
func _on_global_stage_updated(e: StringName, s: int):
|
||||
if e == updater_event:
|
||||
_local_enable_event_stage = s
|
||||
_local_updater_event_stage = s
|
||||
_update_binding_state(s)
|
||||
|
||||
|
||||
@ -80,13 +80,18 @@ func _update_binding_state(stage: int):
|
||||
|
||||
func _toggle_parent_visibility_with_ease(parent, show: bool):
|
||||
if parent is CanvasItem:
|
||||
parent.visible = true
|
||||
parent.modulate.a = 0.0 if show else 1.0
|
||||
var target_a = 1.0 if show else 0.0
|
||||
var tween = create_tween()
|
||||
tween.tween_property(parent, "modulate:a", target_a, updater_ease_duration)
|
||||
if not show:
|
||||
tween.tween_callback(parent.hide)
|
||||
if updater_ease_duration > 0.0:
|
||||
if show:
|
||||
parent.show()
|
||||
var original_a = parent.modulate.a
|
||||
var target_a = 1.0 if show else 0.0
|
||||
var tween = create_tween()
|
||||
tween.tween_property(parent, "modulate:a", target_a, updater_ease_duration)
|
||||
if not show:
|
||||
tween.tween_callback(parent.hide)
|
||||
tween.tween_callback(func(): parent.modulate.a = original_a)
|
||||
else:
|
||||
parent.visible = show
|
||||
|
||||
|
||||
func _auto_detect_mode():
|
||||
|
Loading…
Reference in New Issue
Block a user