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
|
||||
@@ -5,18 +5,24 @@
|
||||
[ext_resource type="Script" uid="uid://c4w8hney4mesw" path="res://Main/Scripts/gui.gd" id="3_8gbba"]
|
||||
[ext_resource type="Script" uid="uid://dr7ljodtof1k5" path="res://Main/Scripts/map_transitioner.gd" id="3_kry3j"]
|
||||
[ext_resource type="Script" uid="uid://cluyhxrc3pdb" path="res://Scripts/dialogue_trigger_connector.gd" id="4_6bp64"]
|
||||
[ext_resource type="Script" uid="uid://bkvsdwn7swt1p" path="res://Main/Scripts/persistence_loader.gd" id="4_ib3t1"]
|
||||
[ext_resource type="PackedScene" uid="uid://cxc4x4yp7l3hg" path="res://UI/dialogue_box.tscn" id="6_21xkr"]
|
||||
[ext_resource type="PackedScene" uid="uid://ce6ix6ca6js5f" path="res://UI/Screens/map_ui.tscn" id="8_f6fdm"]
|
||||
|
||||
[node name="Main" type="Node2D" unique_id=1457826519]
|
||||
script = ExtResource("1_jjgbg")
|
||||
|
||||
[node name="Map Transitioner" type="Node" parent="." unique_id=1528505665]
|
||||
script = ExtResource("3_kry3j")
|
||||
initial_map_id = 3
|
||||
|
||||
[node name="Dialogue Trigger Connector" type="Node" parent="." unique_id=1187622540 node_paths=PackedStringArray("dialogue_box")]
|
||||
script = ExtResource("4_6bp64")
|
||||
dialogue_box = NodePath("../Gui/Dialogue Box")
|
||||
|
||||
[node name="Persistence Loader" type="Node" parent="." unique_id=523510879]
|
||||
script = ExtResource("4_ib3t1")
|
||||
|
||||
[node name="World" type="Node2D" parent="." unique_id=578440549]
|
||||
script = ExtResource("2_bo1nx")
|
||||
|
||||
@@ -26,5 +32,10 @@ script = ExtResource("3_8gbba")
|
||||
[node name="Dialogue Box" parent="Gui" unique_id=586562815 instance=ExtResource("6_21xkr")]
|
||||
visible = false
|
||||
|
||||
[node name="Map UI" parent="Gui" unique_id=98184404 instance=ExtResource("8_f6fdm")]
|
||||
visible = false
|
||||
|
||||
[connection signal="GameStarted" from="Map Transitioner" to="Persistence Loader" method="OnGameStarted"]
|
||||
[connection signal="MapChanged" from="Map Transitioner" to="." method="_on_map_changed"]
|
||||
[connection signal="MapChanged" from="Map Transitioner" to="Dialogue Trigger Connector" method="_on_map_changed"]
|
||||
[connection signal="DialogueTriggered" from="Dialogue Trigger Connector" to="Gui/Dialogue Box" method="OnDialogueTriggered"]
|
||||
|
||||
Reference in New Issue
Block a user