extends RefCounted
## Side-effect-free brain, for gates that need a real res:// script to load.
##
## Deliberately touches no autoload and no state: a gate that loads this is
## testing ScriptHost's loading path, and a fixture that wrote to GameState
## would make the gate's result depend on the state layer as well.
## Declared so the registry's injected bot_id lands somewhere. A brain that
## wants it declares it — that is the whole contract.
var bot_id: String = ""
var inited: bool = false
## Set from a brain declaration's `params` by gate_brain_params.
var tuned: int = 0
var ticks: int = 0
func _bot_init() -> void:
inited = true
func _bot_tick(_delta: float) -> void:
ticks += 1