diff options
| -rw-r--r-- | docs/index.html | 2 | ||||
| -rw-r--r-- | docs/index.pck | bin | 2037248 -> 2037696 bytes | |||
| -rw-r--r-- | docs/index.service.worker.js | 2 | ||||
| -rw-r--r-- | room_main_menu.gd | 8 | ||||
| -rw-r--r-- | room_main_menu.tscn | 6 | ||||
| -rw-r--r-- | top.gd | 41 | ||||
| -rw-r--r-- | transition_manager.gd | 4 |
7 files changed, 39 insertions, 24 deletions
diff --git a/docs/index.html b/docs/index.html index be4cc3f..b1b6549 100644 --- a/docs/index.html +++ b/docs/index.html @@ -112,7 +112,7 @@ body { <script src="index.js"></script> <script> -const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":true,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":2037248,"index.wasm":38034280},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4,"serviceWorker":"index.service.worker.js"}; +const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":true,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":2037696,"index.wasm":38034280},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4,"serviceWorker":"index.service.worker.js"}; const GODOT_THREADS_ENABLED = false; const engine = new Engine(GODOT_CONFIG); diff --git a/docs/index.pck b/docs/index.pck Binary files differindex 8d160c3..59189f7 100644 --- a/docs/index.pck +++ b/docs/index.pck diff --git a/docs/index.service.worker.js b/docs/index.service.worker.js index 0c5ac3d..e2f7608 100644 --- a/docs/index.service.worker.js +++ b/docs/index.service.worker.js @@ -4,7 +4,7 @@ // Incrementing CACHE_VERSION will kick off the install event and force // previously cached resources to be updated from the network. /** @type {string} */ -const CACHE_VERSION = '1763753940|13605624650'; +const CACHE_VERSION = '1763759691|18290620371'; /** @type {string} */ const CACHE_PREFIX = 'MobileMetroidvan-sw-cache-'; const CACHE_NAME = CACHE_PREFIX + CACHE_VERSION; diff --git a/room_main_menu.gd b/room_main_menu.gd index 4f58704..977b24b 100644 --- a/room_main_menu.gd +++ b/room_main_menu.gd @@ -2,9 +2,9 @@ class_name RoomMainMenu extends Node2D func _ready() -> void: - $TestRoomButton.grab_focus.call_deferred() - $TestRoomButton.pressed.connect(_test_room_button_pressed) + $PlayButton.grab_focus.call_deferred() + $PlayButton.pressed.connect(_play_button_pressed) -func _test_room_button_pressed(): +func _play_button_pressed(): var top: Top = get_tree().root.get_node("Top") - top.get_transition_manager().room_transition(null, "res://room_test1.tscn", null) + top.game_load() diff --git a/room_main_menu.tscn b/room_main_menu.tscn index 1e2d4bf..b5faa22 100644 --- a/room_main_menu.tscn +++ b/room_main_menu.tscn @@ -9,7 +9,7 @@ script = ExtResource("1_rbk04") [node name="Camera2D" type="Camera2D" parent="."] position = Vector2(96, 54) -[node name="TestRoomButton" type="Button" parent="."] +[node name="PlayButton" type="Button" parent="."] anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 @@ -22,12 +22,12 @@ offset_bottom = 82.0 grow_horizontal = 2 grow_vertical = 2 scale = Vector2(0.5, 0.5) -text = "Test room" +text = "Play" [node name="Label" type="Label" parent="."] offset_top = 24.0 offset_right = 384.0 offset_bottom = 47.0 scale = Vector2(0.5, 0.5) -text = "Main menu" +text = "Metroidvania" horizontal_alignment = 1 @@ -1,29 +1,22 @@ class_name Top extends Node2D -@export var initial_room: PackedScene +const ROOM_MAIN_MENU: String = "res://room_main_menu.tscn" +const ROOM_NEW_GAME: String = "res://room_test1.tscn" var active_room_name: String -var save_state_path = "user://save_state.cfg" -var save_state = ConfigFile.new() func _ready() -> void: + print("data_dir: \"%s\"" % OS.get_user_data_dir()) $Map.hide_map() get_tree().call_group("ui_movement", "set_visible", false) get_tree().call_group("ui_menu", "set_visible", false) - var room = initial_room.instantiate() + var room = preload(ROOM_MAIN_MENU).instantiate() active_room_name = room.name room.name = "ActiveRoom" room.process_mode = Node.PROCESS_MODE_PAUSABLE add_child(room) - - # Testing - save_state.load(save_state_path) - print("loaded test_item: ", save_state.get_value("items", "test_item")) - save_state.set_value("items", "test_item", true) - save_state.save(save_state_path) - print(OS.get_data_dir()) func _process(_delta: float): if Input.is_action_just_pressed("menu"): @@ -32,9 +25,6 @@ func _process(_delta: float): elif active_room_name != "MainMenu": open_pause_menu() -func save(): - save_state.save("user://save_state.cfg") - func replace_active_room(new_room: Node, on_changed: Callable): var current_room = get_node("ActiveRoom") remove_child(current_room) @@ -63,4 +53,25 @@ func open_pause_menu(): func close_pause_menu(): get_tree().paused = false $Map.hide_map() - + +# Save state logic + +@onready var save_state: ConfigFile = ConfigFile.new() +const SAVE_PATH = "user://save_state.cfg" +const SAVE_SECTION = "save" +const SAVE_ACTIVE_ROOM_PATH = "ACTIVE_ROOM_PATH" +const SAVE_LAST_DOOR_NAME = "LAST_DOOR_NAME" + +func game_set(k: String, v: Variant): + save_state.set_value(SAVE_SECTION, k, v) + +func game_save(): + save_state.save(SAVE_PATH) + +func game_load(): + save_state.load(SAVE_PATH) + $TransitionManager.room_transition( + null, + save_state.get_value(SAVE_SECTION, SAVE_ACTIVE_ROOM_PATH, ROOM_NEW_GAME), + save_state.get_value(SAVE_SECTION, SAVE_LAST_DOOR_NAME) + ) diff --git a/transition_manager.gd b/transition_manager.gd index ec8a618..374e837 100644 --- a/transition_manager.gd +++ b/transition_manager.gd @@ -23,6 +23,9 @@ func room_transition(from_door: Door, to_room_path: String, door_name: Variant): var room = ResourceLoader.load(to_room_path) _transition_room = room.instantiate() _transition_door_name = door_name + + top.game_set(Top.SAVE_ACTIVE_ROOM_PATH, to_room_path) + top.game_set(Top.SAVE_LAST_DOOR_NAME, door_name) func _transition_start(): #print_debug("_transition_start") @@ -44,6 +47,7 @@ func _on_room_changed(): player.set_forced_input(door.exit_towards) $AnimationPlayer.play("room_trans_end") + top.game_save() func _transition_end(): #print_debug("_transition_end") |
