Add planet scanner and octopus biome
This commit is contained in:
parent
2ecd61de98
commit
8fbcc340ce
21 changed files with 784 additions and 30 deletions
|
|
@ -32,6 +32,7 @@ const HUD_ROW_GAP := 16.0
|
|||
@onready var skill_menu: Control = get_node("../UI/SkillMenu")
|
||||
@onready var planning_menu: Control = get_node("../UI/PlanningMenu")
|
||||
@onready var garrison_menu: Control = get_node("../UI/GarrisonMenu")
|
||||
@onready var scanner_menu: Control = get_node("../UI/ScannerMenu")
|
||||
|
||||
var pending_build_type: String = ""
|
||||
var craft_building_id: int = 0
|
||||
|
|
@ -42,6 +43,7 @@ var lab_can_buy: bool = false
|
|||
var transfer_building_id: int = 0
|
||||
var transfer_extractor_index: int = -1
|
||||
var garrison_building_id: int = 0
|
||||
var scanner_building_id: int = 0
|
||||
|
||||
var current_building: Node2D = null
|
||||
var pending_building: Node2D = null
|
||||
|
|
@ -76,6 +78,8 @@ func _ready() -> void:
|
|||
formation_menu.formation_changed.connect(_on_formation_changed)
|
||||
formation_menu.reset_requested.connect(_on_reset_formation)
|
||||
skill_menu.research_requested.connect(_on_unlock_requested)
|
||||
scanner_menu.scan_requested.connect(_on_scan_requested)
|
||||
scanner_menu.closed.connect(func(): scanner_building_id = 0)
|
||||
|
||||
for control in [action_button, building_action_button, landing_button,
|
||||
transfer_button, hangar_button]:
|
||||
|
|
@ -107,7 +111,7 @@ func _seat_hud_columns() -> void:
|
|||
|
||||
func _menu_is_open() -> bool:
|
||||
for menu in [build_menu, craft_menu, lab_menu, transfer_menu, hangar_menu,
|
||||
formation_menu, skill_menu, planning_menu, garrison_menu]:
|
||||
formation_menu, skill_menu, planning_menu, garrison_menu, scanner_menu]:
|
||||
if menu.visible:
|
||||
return true
|
||||
return false
|
||||
|
|
@ -307,6 +311,24 @@ func _on_action_pressed() -> void:
|
|||
elif building_action == "garrison":
|
||||
garrison_building_id = building_id
|
||||
garrison_menu.open_for(building_id)
|
||||
elif building_action == "scanner":
|
||||
scanner_building_id = building_id
|
||||
scanner_menu.open_menu()
|
||||
|
||||
|
||||
func _on_scan_requested(definition_id: String) -> void:
|
||||
var scanner: Dictionary = GameState.find_building(scanner_building_id)
|
||||
if scanner.is_empty():
|
||||
scanner_menu.show_failure(definition_id)
|
||||
return
|
||||
var result: Dictionary = GameState.scan_for_planet(definition_id,
|
||||
Vector2(scanner.position))
|
||||
if result.is_empty():
|
||||
scanner_menu.show_failure(definition_id)
|
||||
return
|
||||
scanner_menu.close_menu()
|
||||
world_map.open_map()
|
||||
world_map.focus_world_position(Vector2(result.world_position))
|
||||
|
||||
|
||||
func _on_build_pressed() -> void:
|
||||
|
|
|
|||
Loading…
Reference in a new issue