extends RefCounted ## NEO-153: thin main.gd wiring (keeps main.gd under gdlint max-file-lines). const ContractHudController := preload("res://scripts/contract_hud_controller.gd") static func setup_on( main: Node, hud_root: Node, contract_client: Node, apply_http_config: Callable, item_defs_client: Node = null, inventory_client: Node = null, skill_progression_client: Node = null, faction_standing_client: Node = null ) -> Node: var controller: Node = ContractHudController.new() main.add_child(controller) controller.call( "setup", contract_client, hud_root.get_node("ContractActiveLabel"), hud_root.get_node("ContractIssueFeedbackLabel"), hud_root.get_node("ContractRewardDeliveryLabel"), apply_http_config, item_defs_client, inventory_client, skill_progression_client, faction_standing_client ) return controller static func request_refresh(controller: Node) -> void: if is_instance_valid(controller): controller.call("request_contract_refresh") static func try_issue_key_input(controller: Node, event: InputEvent) -> bool: if not is_instance_valid(controller): return false return bool(controller.call("try_issue_key_input", event))