18 lines
616 B
GDScript3
18 lines
616 B
GDScript3
|
|
class_name SceneTrigger extends Resource
|
|||
|
|
|
|||
|
|
##绑定哪个Node的哪个函数作为此Trigger的Register。
|
|||
|
|
@export var trigger_register_conifg: SceneTriggerRegister
|
|||
|
|
##Guard是一个保护项,如果某个Trigger触发后但因为某些条件并不想被执行,可以使用guard进行保护
|
|||
|
|
@export var guards: Array[SceneGuard]
|
|||
|
|
##当某个Trigger被激活时,可以应用任意多个Effect,Effect会按序执行列
|
|||
|
|
@export var trigger_effect_pairs: Array[SceneTriggerEffectPair]
|
|||
|
|
|
|||
|
|
var _owner: Node
|
|||
|
|
|
|||
|
|
func can_trigger(args: Array) -> bool:
|
|||
|
|
for g in guards:
|
|||
|
|
if not g.check(args):
|
|||
|
|
return false
|
|||
|
|
|
|||
|
|
return true
|