gd,refacto: added state chart addon and namespace cleanup

This commit is contained in:
2025-06-05 14:47:51 +02:00
parent 8818e77d23
commit 5c36765a36
239 changed files with 10430 additions and 115 deletions

View File

@ -0,0 +1,21 @@
@tool
@icon("any_of_guard.svg")
## A composite guard, that is satisfied if any of the guards are satisfied.
class_name AnyOfGuard
extends Guard
## The guards of which at least one must be satisfied. If empty, this guard is not satisfied.
@export var guards: Array[Guard] = []
func is_satisfied(context_transition:Transition, context_state:StateChartState) -> bool:
for guard in guards:
if guard.is_satisfied(context_transition, context_state):
return true
return false
func get_supported_trigger_types() -> int:
var supported_trigger_types:int = StateChart.TriggerType.NONE
for guard in guards:
supported_trigger_types |= guard.get_supported_trigger_types()
return supported_trigger_types