beta-1.5 (#4)
Reviewed-on: #4
This commit was merged in pull request #4.
This commit is contained in:
@@ -1 +1,3 @@
|
||||
extends CanvasLayer
|
||||
|
||||
const MAP_UI = preload("uid://ce6ix6ca6js5f")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
6
Main/Scripts/persistence_loader.gd
Normal file
6
Main/Scripts/persistence_loader.gd
Normal file
@@ -0,0 +1,6 @@
|
||||
extends Node
|
||||
|
||||
# Public Methods
|
||||
func OnGameStarted() -> void:
|
||||
print("Loading from disk")
|
||||
PersistenceManager.LoadFromDisk(PersistenceManager.DEFAULT_SAVE_FILE_PATH)
|
||||
1
Main/Scripts/persistence_loader.gd.uid
Normal file
1
Main/Scripts/persistence_loader.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bkvsdwn7swt1p
|
||||
Reference in New Issue
Block a user