Skip to content
This repository was archived by the owner on Sep 15, 2024. It is now read-only.

Commit d2a8336

Browse files
Close console before scene switch
1 parent 08ce71a commit d2a8336

4 files changed

Lines changed: 15 additions & 9 deletions

File tree

Scripts/Msc/UIDebugger.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ public class UIDebugger : Control
99
[Export] public readonly NodePath NodePathLogs;
1010
[Export] public readonly NodePath NodePathConsole;
1111

12+
public static UIDebugger Instance { get; set; }
1213
private static TextEdit Logs { get; set; }
13-
private static UIDebugger Instance { get; set; }
1414

1515
private LineEdit Console { get; set; } // the console input
1616

Scripts/Scenes/Game Servers/SceneGameServers.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,16 @@ public override async void _Ready()
6868
await ListServers();
6969
}
7070

71-
public override async void _Input(InputEvent @event)
71+
public override void _Input(InputEvent @event)
7272
{
73-
await SceneManager.EscapeToScene("Menu", () =>
73+
SceneManager.EscapePressed(async () =>
7474
{
7575
WebClient.Client.CancelPendingRequests();
7676

7777
if (NetworkManager.GameClient != null)
7878
NetworkManager.GameClient.CancelTask();
79+
80+
await SceneManager.ChangeScene("Menu");
7981
});
8082
}
8183

Scripts/Scenes/Game/SceneGame.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,9 @@ public override void _PhysicsProcess(float delta)
7373
}
7474
}
7575

76-
public override async void _Input(InputEvent @event)
76+
public override void _Input(InputEvent @event)
7777
{
78-
if (Input.IsActionJustPressed("ui_cancel"))
79-
{
78+
SceneManager.EscapePressed(async () => {
8079
if (SceneManager.PrevSceneName == "Menu")
8180
{
8281
// Singleplayer
@@ -90,7 +89,7 @@ public override async void _Input(InputEvent @event)
9089
if (NetworkManager.GameServer != null)
9190
NetworkManager.GameServer.Stop();
9291
}
93-
}
92+
});
9493
}
9594

9695
public void UpdatePlayerPositions(Dictionary<byte, DataEntityTransform> playerTransforms) => PlayerTransformQueue.Add(playerTransforms);

Scripts/Scenes/Main/SceneManager.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,17 @@ public static async Task ChangeScene(string sceneName, bool instant = true)
5757
Instance.AddChild(ActiveScene);
5858
}
5959

60-
public static async Task EscapeToScene(string scene, Action action)
60+
public static void EscapePressed(Action action)
6161
{
6262
if (Input.IsActionJustPressed("ui_cancel"))
6363
{
64+
if (UIDebugger.Instance.Visible)
65+
{
66+
UIDebugger.ToggleVisibility();
67+
return;
68+
}
69+
6470
action();
65-
await SceneManager.ChangeScene(scene);
6671
}
6772
}
6873

0 commit comments

Comments
 (0)