Skip to content

Commit 7a1233c

Browse files
authored
More careful pause mode (#161)
Plugin taking into account current tree state before trying to pause/unpause game. This should resolve situation when console accidentally unpause tree, while game logic expect it to be paused.
1 parent 61faa99 commit 7a1233c

File tree

1 file changed

+6
-3
lines changed
  • addons/panku_console/modules/interactive_shell

1 file changed

+6
-3
lines changed

addons/panku_console/modules/interactive_shell/module.gd

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ var pause_if_input:bool = true
1414
var unified_window_visibility:bool = false
1515
var init_expr:String = ""
1616
var _is_gui_open:bool = false
17+
var _was_tree_paused: bool = false
1718
var _previous_mouse_mode := Input.MOUSE_MODE_VISIBLE
1819
var _show_side_menu:bool
1920

@@ -68,7 +69,7 @@ func init_module():
6869
pause_if_input = load_module_data("pause_if_popup", true)
6970
unified_window_visibility = load_module_data("unified_visibility", false)
7071
init_expr = load_module_data("init_expression", "")
71-
72+
7273
_show_side_menu = load_module_data("show_side_menu", true)
7374
set_side_menu_visible(_show_side_menu)
7475

@@ -84,7 +85,7 @@ func init_module():
8485
var result = core.gd_exprenv.execute(init_expr)
8586
core.new_expression_entered.emit(init_expr, result)
8687
).set_delay(0.1)
87-
88+
8889
_input_histories = load_module_data("histories", [])
8990

9091
func quit_module():
@@ -101,9 +102,11 @@ func update_gui_state():
101102
core.interactive_shell_visibility_changed.emit(is_gui_open)
102103
_is_gui_open = is_gui_open
103104
if _is_gui_open and pause_if_input:
105+
_was_tree_paused = core.get_tree().paused
104106
core.get_tree().paused = true
105107
else:
106-
core.get_tree().paused = false
108+
if core.get_tree().paused:
109+
core.get_tree().paused = _was_tree_paused
107110
if unified_window_visibility:
108111
core.windows_manager.visible = _is_gui_open
109112

0 commit comments

Comments
 (0)