2026-10-24 21:41:44 -05:00
|
|
|
class_name BaseController extends Node
|
|
|
|
|
|
|
|
|
|
|
2026-10-25 16:22:34 -05:00
|
|
|
@export var jets_collection: JetsCollection
|
|
|
|
|
|
2026-10-24 21:41:44 -05:00
|
|
|
var controller_message_bus: ControllerMessageBus = null
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func _controller_message(_event: BaseEvent) -> void:
|
|
|
|
|
assert(false, "Controller Base '_controller_message' must be overridden...")
|
|
|
|
|
|
|
|
|
|
func set_controller_message_bus(message_bus: ControllerMessageBus) -> void:
|
|
|
|
|
controller_message_bus = message_bus
|
|
|
|
|
|
|
|
|
|
func unset_controller_message_bus() -> void:
|
|
|
|
|
controller_message_bus = null
|
|
|
|
|
|
|
|
|
|
func message(event: BaseEvent):
|
|
|
|
|
return controller_message_bus.message.call(event)
|
|
|
|
|
|
|
|
|
|
func message_to(message_str: String, event: BaseEvent):
|
|
|
|
|
return controller_message_bus.message_to.call(message_str, event)
|
|
|
|
|
|
|
|
|
|
func message_to_selected(cnames: Array[String], event: BaseEvent):
|
|
|
|
|
var responses: Array = Array()
|
|
|
|
|
|
|
|
|
|
for cname: String in cnames:
|
|
|
|
|
responses.append(
|
|
|
|
|
controller_message_bus.message_to.call(name, event)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
return responses
|
|
|
|
|
|
|
|
|
|
func register_controller(cname: String, controller: BaseController) -> void:
|
|
|
|
|
controller_message_bus.register_controller.call(cname, controller)
|
|
|
|
|
|
|
|
|
|
func unregister_controller(cname: String) -> void:
|
|
|
|
|
controller_message_bus.unregister_controller.call(cname)
|