godot-plateformer/addons/reedscene/scene/scene_trigger/base/SceneTrigger.gd

19 lines
626 B
GDScript3
Raw Normal View History

@abstract
class_name SceneTrigger extends Resource
##绑定哪个Node的哪个函数作为此Trigger的Register。
@export var trigger_register_conifg: SceneTriggerRegister
##Guard是一个保护项如果某个Trigger触发后但因为某些条件并不想被执行可以使用guard进行保护
@export var guards: Array[SceneGuard]
##当某个Trigger被激活时可以应用任意多个EffectEffect会按序执行列
@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