diff --git a/project.godot b/project.godot index a8f8d41..fe48e30 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 9425b1c..205624f 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 0000000..a75efc9 --- /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 670057d..5d3bbc6 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)