diff options
| author | Jan Tuomi <jan@jantuomi.fi> | 2026-02-05 21:54:16 +0200 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2026-02-05 21:54:16 +0200 |
| commit | f53d1d99707c5063a35c0c68890e0947077108ad (patch) | |
| tree | 4fc47e986b520c9c0c746a20edc5015de24e207b /transition_player.gd | |
| parent | 7241211bf3d960c0921c273cca5d10ad92734a61 (diff) | |
Work on intro cinematic
Diffstat (limited to 'transition_player.gd')
| -rw-r--r-- | transition_player.gd | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/transition_player.gd b/transition_player.gd index 9d875d7..ba719eb 100644 --- a/transition_player.gd +++ b/transition_player.gd @@ -3,8 +3,12 @@ extends AnimationPlayer var _transition_room: Node var _transition_door_name: Variant # String or null +var _override_player_fn: Variant # Callable or null -func room_transition(from_door: Door, to_room_path: String, door_name: Variant): +func room_transition(from_door: Door, + to_room_path: String, + door_name: Variant, + override_player_fn: Variant = null): print_debug("Transitioning to room path: %s" % to_room_path) var top: Top = get_tree().root.get_node("Top") @@ -23,6 +27,7 @@ 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 + _override_player_fn = override_player_fn if to_room_path != Top.ROOM_MAIN_MENU: top.game_set(Top.SAVE_ACTIVE_ROOM_PATH, to_room_path) @@ -47,9 +52,9 @@ func _on_room_changed(): var door: Door = room.find_child(_transition_door_name) player.position = door.position player.request_state_forced(door.exit_towards) + top.game_save() play("room_trans_end") - top.game_save() func _transition_end(): var top: Top = get_tree().root.get_node("Top") @@ -58,5 +63,9 @@ func _transition_end(): var room = top.get_node("ActiveRoom") var player: Player = room.find_child("Player") - if player: + if _override_player_fn: + _override_player_fn.call(player) + elif player: player.request_state_normal() + + _override_player_fn = null |
