diff --git a/Barotrauma/BarotraumaClient/ClientSource/Screens/SubEditorScreen.cs b/Barotrauma/BarotraumaClient/ClientSource/Screens/SubEditorScreen.cs index 16f2d788d..67d1fa374 100644 --- a/Barotrauma/BarotraumaClient/ClientSource/Screens/SubEditorScreen.cs +++ b/Barotrauma/BarotraumaClient/ClientSource/Screens/SubEditorScreen.cs @@ -1031,8 +1031,6 @@ namespace Barotrauma return true; } - GameMain.LuaCs.Initialize(); - CloseItem(); backedUpSubInfo = new SubmarineInfo(MainSub); @@ -1324,12 +1322,12 @@ namespace Barotrauma public override void Select() { Select(enableAutoSave: true); + + GameMain.LuaCs.Initialize(); } public void Select(bool enableAutoSave = true) { - GameMain.LuaCs.Stop(); - base.Select(); TaskPool.Add( diff --git a/Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterClient.lua b/Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterClient.lua index d5cf070e1..be5bbc47d 100644 --- a/Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterClient.lua +++ b/Barotrauma/BarotraumaShared/Lua/DefaultRegister/RegisterClient.lua @@ -9,6 +9,13 @@ for key, value in pairs(localizedStrings) do RegisterBarotrauma(value) end +RegisterBarotrauma("EditorScreen") +RegisterBarotrauma("SubEditorScreen") +RegisterBarotrauma("EventEditorScreen") +RegisterBarotrauma("CharacterEditorScreen") +RegisterBarotrauma("SpriteEditorScreen") +RegisterBarotrauma("LevelEditorScreen") + RegisterBarotrauma("Networking.ClientPeer") RegisterBarotrauma("Networking.GameClient") RegisterBarotrauma("Networking.VoipCapture") diff --git a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaGame.cs b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaGame.cs index 94c40415c..cfe0d0418 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaGame.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/LuaCs/Lua/LuaClasses/LuaGame.cs @@ -16,10 +16,11 @@ namespace Barotrauma public bool IsMultiplayer => GameMain.IsMultiplayer; #if CLIENT + public bool? ForceVoice = null; + public bool? ForceLocalVoice = null; + public bool Paused => GameMain.Instance?.Paused == true; - public byte MyID => GameMain.Client.ID; - public ChatMode ActiveChatMode => GameMain.ActiveChatMode; public ChatBox ChatBox @@ -49,8 +50,21 @@ namespace Barotrauma } } - public bool? ForceVoice = null; - public bool? ForceLocalVoice = null; + public SubEditorScreen SubEditorScreen + { + get + { + return GameMain.SubEditorScreen; + } + } + + public bool IsSubEditor + { + get + { + return Screen.Selected is SubEditorScreen; + } + } #else public bool IsDedicated @@ -179,13 +193,13 @@ namespace Barotrauma } #if SERVER - public ServerPeer Peer + public ServerPeer Peer + { + get { - get - { - return GameMain.Server.ServerPeer; - } + return GameMain.Server.ServerPeer; } + } #else public ClientPeer Peer {