using Godot; using Rokojori.Extensions; namespace Rokojori; [Tool] [GlobalClass, Icon("res://addons/rokojori_action_library/Icons/Action.svg")] public partial class BrainControl:Action { public enum Mode { Start, Pause, Resume, Toggle } [Export] public Brain brain; [Export] public Mode mode; protected override void _OnTrigger() { if ( brain == null ) { return; } switch ( mode ) { case Mode.Start: StartBrain(); break; case Mode.Pause: brain.SetPaused( true ); break; case Mode.Resume: brain.SetPaused( false ); break; case Mode.Toggle: brain.SetPaused( ! brain.paused ); break; } } void StartBrain() { brain.SetPaused( false ); if ( brain.receptors != null ) { foreach ( var receptor in brain.receptors ) { if ( receptor != null ) { receptor.Start(); } } } brain.Trigger(); } }