44 lines
1.2 KiB
GDScript
44 lines
1.2 KiB
GDScript
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))
|