diff --git a/CHANGELOG.md b/CHANGELOG.md index d6f3a1ba..99061141 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ All notable changes to this project will be documented in this file. - GetRangeFromHint method to Scene class. - PreferencesManager hold all the preferences & is a child of YAT. - Preferences command. +- Documentation file: YAT_ENABLE.md. ### Changed @@ -29,6 +30,7 @@ All notable changes to this project will be documented in this file. - YAT.md - Input.md - BaseTerminal.md +- Restored YatEnable functionality. ### Fixed diff --git a/addons/yat/docs/USAGE.md b/addons/yat/docs/USAGE.md index 699407d4..3cadbcdc 100644 --- a/addons/yat/docs/USAGE.md +++ b/addons/yat/docs/USAGE.md @@ -45,15 +45,6 @@ You can find all the used actions below. - yat_example_player_move_forward: `W` - yat_example_player_move_backward: `S` -## Options - -### YAT Enable File - -You can make YAT accessible only when a specific file (default .yatenable) -is present in either the `user://` or `res://` directory (default user://). - -This makes it easy to restrict terminal access to players without removing the extension. - ## Script Templates YAT includes script templates that can be used as a base for creating new classes. They are available from Godot in the `Create Script` window. diff --git a/addons/yat/docs/YAT_ENABLE.md b/addons/yat/docs/YAT_ENABLE.md new file mode 100644 index 00000000..d975aadd --- /dev/null +++ b/addons/yat/docs/YAT_ENABLE.md @@ -0,0 +1,14 @@ +
+

YatEnable

+

Here you can find information on the YatEnable functionality that allows you to restrict access to the terminal.

+
+ +### YatEnable + +Yat allows you to restrict access to the terminal via the `YatEnable` file located in the `user://` or `res://` directories. + +The file name as well as the target directory can be customized. + +If the file is present, Yat is available, otherwise running the terminal is not possible. + +Checking for the presence of the file is only done during Ready. diff --git a/addons/yat/src/YAT.cs b/addons/yat/src/YAT.cs index fef73446..3ace9cde 100644 --- a/addons/yat/src/YAT.cs +++ b/addons/yat/src/YAT.cs @@ -16,11 +16,12 @@ public partial class YAT : Node public BaseTerminal CurrentTerminal { get; set; } public RegisteredCommands Commands { get; private set; } - public PreferencesManager PreferencesManager { get; private set; } public TerminalManager TerminalManager { get; private set; } + public PreferencesManager PreferencesManager { get; private set; } public override void _Ready() { + Windows = GetNode("./Windows"); Commands = GetNode("./RegisteredCommands"); PreferencesManager = GetNode("%PreferencesManager"); @@ -28,12 +29,6 @@ public override void _Ready() TerminalManager = GetNode("./TerminalManager"); TerminalManager.GameTerminal.Ready += () => { - TerminalManager.GameTerminal.TerminalSwitcher.TerminalSwitcherInitialized += () => - { - CurrentTerminal = TerminalManager.GameTerminal.TerminalSwitcher.CurrentTerminal; - // CallDeferred(nameof(CheckYatEnableSettings)); - - }; TerminalManager.GameTerminal.TerminalSwitcher.CurrentTerminalChanged += (BaseTerminal terminal) => { @@ -44,6 +39,8 @@ public override void _Ready() }; Keybindings.LoadDefaultActions(); + + CheckYatEnableSettings(); } private void CheckYatEnableSettings() diff --git a/addons/yat/src/scenes/game_terminal/GameTerminal.cs b/addons/yat/src/scenes/game_terminal/GameTerminal.cs index f05cb2b5..354a34d5 100644 --- a/addons/yat/src/scenes/game_terminal/GameTerminal.cs +++ b/addons/yat/src/scenes/game_terminal/GameTerminal.cs @@ -17,10 +17,6 @@ public override void _Ready() base._Ready(); _yat = GetNode("/root/YAT"); - _yat.YatReady += () => - { - CloseRequested += _yat.TerminalManager.CloseTerminal; - }; _yat.PreferencesManager.PreferencesUpdated += UpdateOptions; TerminalSwitcher = GetNode("%TerminalSwitcher"); @@ -30,6 +26,7 @@ public override void _Ready() CurrentTerminal.PositionResetRequested += ResetPosition; CurrentTerminal.SizeResetRequested += () => Size = InitialSize; + CloseRequested += _yat.TerminalManager.CloseTerminal; ContextMenu.AddSubmenuItem("QuickCommands", "QuickCommandsContext"); MoveToCenter(); @@ -38,9 +35,7 @@ public override void _Ready() public override void _Input(InputEvent @event) { if (@event.IsActionPressed(Keybindings.TerminalToggle)) - { CallDeferred("emit_signal", SignalName.CloseRequested); - } } private void UpdateOptions(YatPreferences prefs)