beta-1.5 (#4)

Reviewed-on: #4
This commit was merged in pull request #4.
This commit is contained in:
2026-03-28 20:34:59 -06:00
parent 5fb4a96159
commit 7cd34cb07e
32 changed files with 445 additions and 66 deletions

View File

@@ -1 +1,3 @@
extends CanvasLayer
const MAP_UI = preload("uid://ce6ix6ca6js5f")

View File

@@ -1,10 +1,26 @@
extends Node2D
#@export var initial_map: PackedScene
#
#@onready var world: Node2D = $World
#
## Called when the node enters the scene tree for the first time.
#func _ready() -> void:
#var map := initial_map.instantiate()
#world.add_child(map)
enum StartOptions {
TitleScreen,
InitialMap
}
@export var starting_scene := StartOptions.TitleScreen
@onready var map_transitioner: Node = $"Map Transitioner"
@onready var map_ui: Control = $"Gui/Map UI"
# Private Methods
func _ready() -> void:
match starting_scene:
StartOptions.TitleScreen:
map_transitioner.call_deferred("InstantiateTitleScreen")
StartOptions.InitialMap:
map_transitioner.call_deferred("InstantiateInitialMap")
func _on_map_changed(map_id: Enums.MapIds) -> void:
if map_id != Enums.MapIds.TITLE_SCREEN:
map_ui.set_deferred("visible", true)
else:
map_ui.set_deferred("visible", false)

View File

@@ -1,22 +1,45 @@
extends Node
signal GameStarted
signal MapChanged(map_id: Enums.MapIds)
@export var initial_map_id: Enums.MapIds
@onready var world: Node2D = $"../World"
# Private Methods
func _ready() -> void:
# Public Methods
func InstantiateTitleScreen() -> void:
var map_scene := MapLoader.GetMap(Enums.MapIds.TITLE_SCREEN)
var map := map_scene.instantiate()
world.add_child(map)
if !map.is_node_ready():
await map.ready
map.connect("GameStarted", _on_title_screen_game_started_clicked)
_connect_loading_zone_transporters()
MapChanged.emit(Enums.MapIds.TITLE_SCREEN)
func InstantiateInitialMap() -> void:
var map_scene := MapLoader.GetMap(initial_map_id)
var map := map_scene.instantiate()
world.add_child(map)
await map.ready
if !map.is_node_ready():
await map.ready
_connect_loading_zone_transporters()
MapChanged.emit(initial_map_id)
# Private Methods
func _on_title_screen_game_started_clicked() -> void:
GameStarted.emit()
_on_map_transition_queued(initial_map_id, "")
func _on_map_transition_queued(map_id: Enums.MapIds, marker_name: String) -> void:
print("Map Transition Queued: %s" % [Enums.MapIds.keys()[map_id]])
var map_scene := MapLoader.GetMap(map_id)

View File

@@ -0,0 +1,6 @@
extends Node
# Public Methods
func OnGameStarted() -> void:
print("Loading from disk")
PersistenceManager.LoadFromDisk(PersistenceManager.DEFAULT_SAVE_FILE_PATH)

View File

@@ -0,0 +1 @@
uid://bkvsdwn7swt1p