diff --git a/BarotraumaServer/BarotraumaServer.csproj b/BarotraumaServer/BarotraumaServer.csproj index 7eeeb0ffa..87888d6b7 100644 --- a/BarotraumaServer/BarotraumaServer.csproj +++ b/BarotraumaServer/BarotraumaServer.csproj @@ -89,6 +89,7 @@ + diff --git a/BarotraumaServer/Source/GameMain.cs b/BarotraumaServer/Source/GameMain.cs index edee7e842..d04f6bd47 100644 --- a/BarotraumaServer/Source/GameMain.cs +++ b/BarotraumaServer/Source/GameMain.cs @@ -39,13 +39,13 @@ namespace Barotrauma //null screens because they are not implemented by the server, //but they're checked for all over the place //TODO: maybe clean up instead of having these constants - public const Screen MainMenuScreen = null; - public const Screen LobbyScreen = null; + public static readonly Screen MainMenuScreen = UnimplementedScreen.Instance; + public static readonly Screen LobbyScreen = UnimplementedScreen.Instance; - public const Screen ServerListScreen = null; + public static readonly Screen ServerListScreen = UnimplementedScreen.Instance; - public const Screen EditMapScreen = null; - public const Screen EditCharacterScreen = null; + public static readonly Screen EditMapScreen = UnimplementedScreen.Instance; + public static readonly Screen EditCharacterScreen = UnimplementedScreen.Instance; // diff --git a/BarotraumaServer/Source/Screens/NetLobbyScreen.cs b/BarotraumaServer/Source/Screens/NetLobbyScreen.cs index f2ee637a5..e25da9588 100644 --- a/BarotraumaServer/Source/Screens/NetLobbyScreen.cs +++ b/BarotraumaServer/Source/Screens/NetLobbyScreen.cs @@ -50,7 +50,7 @@ namespace Barotrauma public override void Select() { - + } private List subs; diff --git a/BarotraumaServer/Source/Screens/UnimplementedScreen.cs b/BarotraumaServer/Source/Screens/UnimplementedScreen.cs new file mode 100644 index 000000000..0c00104da --- /dev/null +++ b/BarotraumaServer/Source/Screens/UnimplementedScreen.cs @@ -0,0 +1,21 @@ +using System; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Barotrauma.Networking; +using System.Linq; +using System.Collections.Generic; +using System.Reflection; +using System.ComponentModel; + +namespace Barotrauma +{ + class UnimplementedScreen : Screen + { + public static readonly UnimplementedScreen Instance = new UnimplementedScreen(); + + public override void Select() + { + throw new Exception("Tried to select unimplemented screen"); + } + } +} diff --git a/BarotraumaShared/Source/Map/Submarine.cs b/BarotraumaShared/Source/Map/Submarine.cs index a110518ba..92fefba7b 100644 --- a/BarotraumaShared/Source/Map/Submarine.cs +++ b/BarotraumaShared/Source/Map/Submarine.cs @@ -175,7 +175,7 @@ namespace Barotrauma public bool AtEndPosition { get - { + { if (Level.Loaded == null) return false; return (Vector2.Distance(Position + HiddenSubPosition, Level.Loaded.EndPosition) < Level.ExitDistance); }