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