Clean after change room: game scene is cleanly removed from prev room (#416)
This commit is contained in:
@@ -83,6 +83,10 @@ func run(command_params: Array) -> int:
|
|||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if escoria.main.current_scene \
|
||||||
|
and escoria.game_scene.get_parent() == escoria.main.current_scene:
|
||||||
|
escoria.main.current_scene.remove_child(escoria.game_scene)
|
||||||
|
|
||||||
# Load room scene
|
# Load room scene
|
||||||
var room_scene = res_room.instance()
|
var room_scene = res_room.instance()
|
||||||
if room_scene:
|
if room_scene:
|
||||||
|
|||||||
@@ -40,9 +40,9 @@ func set_scene(p_scene: Node) -> void:
|
|||||||
if current_scene != null:
|
if current_scene != null:
|
||||||
clear_scene()
|
clear_scene()
|
||||||
|
|
||||||
|
if not p_scene in get_children():
|
||||||
add_child(p_scene)
|
add_child(p_scene)
|
||||||
move_child(p_scene, 0)
|
move_child(p_scene, 0)
|
||||||
|
|
||||||
current_scene = p_scene
|
current_scene = p_scene
|
||||||
check_game_scene_methods()
|
check_game_scene_methods()
|
||||||
|
|
||||||
@@ -59,6 +59,7 @@ func clear_scene() -> void:
|
|||||||
escoria.action_manager.clear_current_action()
|
escoria.action_manager.clear_current_action()
|
||||||
escoria.action_manager.clear_current_tool()
|
escoria.action_manager.clear_current_tool()
|
||||||
|
|
||||||
|
if escoria.game_scene.get_parent() == current_scene:
|
||||||
current_scene.remove_child(escoria.game_scene)
|
current_scene.remove_child(escoria.game_scene)
|
||||||
|
|
||||||
remove_child(current_scene)
|
remove_child(current_scene)
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ onready var pause_menu = $ui/pause_menu
|
|||||||
onready var inventory_ui = $ui/Control/panel_down/VBoxContainer/HBoxContainer\
|
onready var inventory_ui = $ui/Control/panel_down/VBoxContainer/HBoxContainer\
|
||||||
/InventoryMargin/inventory_ui
|
/InventoryMargin/inventory_ui
|
||||||
|
|
||||||
func _ready():
|
func _enter_tree():
|
||||||
ProjectSettings.set_setting("escoria/ui/tooltip_follows_mouse", false)
|
ProjectSettings.set_setting("escoria/ui/tooltip_follows_mouse", false)
|
||||||
escoria.action_manager.connect(
|
escoria.action_manager.connect(
|
||||||
"action_finished",
|
"action_finished",
|
||||||
@@ -47,6 +47,13 @@ func _ready():
|
|||||||
"_on_action_finished"
|
"_on_action_finished"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func _exit_tree():
|
||||||
|
escoria.action_manager.disconnect(
|
||||||
|
"action_finished",
|
||||||
|
self,
|
||||||
|
"_on_action_finished"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
## BACKGROUND ##
|
## BACKGROUND ##
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,12 @@ func _enter_tree():
|
|||||||
"_on_action_finished"
|
"_on_action_finished"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func _exit_tree():
|
||||||
|
escoria.action_manager.disconnect(
|
||||||
|
"action_finished",
|
||||||
|
self,
|
||||||
|
"_on_action_finished"
|
||||||
|
)
|
||||||
|
|
||||||
## BACKGROUND ##
|
## BACKGROUND ##
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user