godot-plateformer/_scene/guard/Guard_ActIDChangedCheck.gd

27 lines
741 B
GDScript3
Raw Normal View History

2026-01-14 19:39:23 +08:00
'''
ActIDChanged绑定ActManager返回的ActChanged Signal
'''
class_name SG_ActIDChangedCheck extends SceneGuard
2026-01-13 22:42:41 +08:00
##如果为-1则不检查from_id只检查to id
@export var from_id: int = -1
##如果为-1不检查如果不为-1则如果act manager的act changed的to act是此id此guard通过。
@export var to_id: int = -1
2026-01-14 19:39:23 +08:00
func check(signal_args: Array, manager: SceneManager) -> bool:
2026-01-13 22:42:41 +08:00
if to_id < 0:
return true
var has_from : bool = false
if from_id >= 0:
has_from = true
if has_from:
if signal_args[0] == from_id and signal_args[1] == to_id:
return true
else:
if signal_args[1] == to_id:
return true
return false