From ab48db0a22ad6d2c17c961a06ccba2538eed6001 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Fri, 29 Sep 2023 08:43:34 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=93=D0=BE=D1=80=D1=8F=D1=87=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B0=D0=B2=D0=B8=D1=88=D0=B8=20=D0=B2=D0=BE=20?= =?UTF-8?q?=D0=B2=D1=81=D0=B5=D1=85=20=D1=80=D0=B5=D0=B6=D0=B8=D0=BC=D0=B0?= =?UTF-8?q?=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project.godot | 1 + scenes/работа.gd | 1 - scripts/hotkeys.gd | 20 ++++++++++++++++++++ scripts/signaller.gd | 5 +++++ 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 scripts/hotkeys.gd diff --git a/project.godot b/project.godot index a8f8d413..fe48e30f 100644 --- a/project.godot +++ b/project.godot @@ -35,6 +35,7 @@ YemsDevs="*res://scripts/yems-devs.gd" Yemsboards="*res://scripts/yemsboards.gd" YemsConsts="*res://scripts/yems-consts.gd" interfer="*res://scripts/interfer.gd" +hotkeys="*res://scripts/hotkeys.gd" [debug] diff --git a/scenes/работа.gd b/scenes/работа.gd index 9425b1c5..205624fa 100644 --- a/scenes/работа.gd +++ b/scenes/работа.gd @@ -33,7 +33,6 @@ var strob_width_begin: float ## Ширина строба по углу signal drag_begin ## Вызывается в момент начала перетаскивания signal drag_continue ## Вызывается во время продолжения перетаскивания signal drag_end ## Вызывается в момент завершения перетаскивания -signal full_screen ## Вызывается при смене режима окна полный экран - оконный ## Состояние перетаскивания diff --git a/scripts/hotkeys.gd b/scripts/hotkeys.gd new file mode 100644 index 00000000..a75efc97 --- /dev/null +++ b/scripts/hotkeys.gd @@ -0,0 +1,20 @@ +extends Node + + +func _ready() -> void: + signaller.connect('full_screen', Callable(self, 'toggle_full_screen').bind(0)) + + +func _input(event: InputEvent) -> void: + if event is InputEventKey: + if event.pressed and event.physical_keycode == KEY_F11: + signaller.emit_signal('full_screen') + + +## Переключает режим окна программы полный - обычный экран +func toggle_full_screen(id: int) -> void: + var mode = DisplayServer.window_get_mode(id) + mode = DisplayServer.WINDOW_MODE_WINDOWED \ + if mode == DisplayServer.WINDOW_MODE_FULLSCREEN \ + else DisplayServer.WINDOW_MODE_FULLSCREEN + DisplayServer.window_set_mode(mode, id) diff --git a/scripts/signaller.gd b/scripts/signaller.gd index 670057df..5d3bbc66 100644 --- a/scripts/signaller.gd +++ b/scripts/signaller.gd @@ -14,3 +14,8 @@ signal threat_selected(threats: Dictionary, th) ## [param threats] - Словарь. Ключ - идентификатор (номер) цели. Значение - цель ## [param th] - Ранее выбранная цель [br] signal threat_unselected(threats: Dictionary, th) + + +## Вызывается, когда пользователь переключает режим окна программы полный экран - оконный +## [param id] - Идентификатор окна. Присваевается вручную +signal full_screen(id: int)