class_name SceneTrigger extends Resource

##绑定哪个Node的哪个函数作为此Trigger的Register。
@export var trigger_register_conifg: SceneTriggerRegister
##Guard是一个保护项，如果某个Trigger触发后但因为某些条件并不想被执行，可以使用guard进行保护
@export var guard: SceneGuard
##当某个Trigger被激活时，可以应用任意多个Effect，Effect会按序执行列
@export var trigger_effect_pairs: Array[SceneTriggerEffectPair]

var _owner: Node

func can_trigger(args: Array,scene_manager: SceneManager) -> bool:
	if not guard:
		return true
	
	if not guard.check(args, scene_manager):
		return false
	return true
