From e4744e838564282892a7c05b0f11f15d8bb4e16c Mon Sep 17 00:00:00 2001 From: Regalis Date: Thu, 24 Nov 2016 20:48:20 +0200 Subject: [PATCH] Resetting EventManager IDs when ending the round, NaN/INF check when setting camera position --- Subsurface/Source/Camera.cs | 9 ++++++++- .../NetEntityEvent/ClientEntityEventManager.cs | 2 ++ .../NetEntityEvent/ServerEntityEventManager.cs | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Subsurface/Source/Camera.cs b/Subsurface/Source/Camera.cs index 372c66ee8..1dca560a4 100644 --- a/Subsurface/Source/Camera.cs +++ b/Subsurface/Source/Camera.cs @@ -234,7 +234,14 @@ namespace Barotrauma public Vector2 Position { get { return position; } - set { position = value; } + set + { + if (!MathUtils.IsValid(value)) + { + return; + } + position = value; + } } public Vector2 ScreenToWorld(Vector2 coords) diff --git a/Subsurface/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs b/Subsurface/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs index 803938651..cd75c1291 100644 --- a/Subsurface/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs +++ b/Subsurface/Source/Networking/NetEntityEvent/ClientEntityEventManager.cs @@ -100,6 +100,8 @@ namespace Barotrauma.Networking public void Clear() { + ID = 0; + events.Clear(); eventLastSent.Clear(); } diff --git a/Subsurface/Source/Networking/NetEntityEvent/ServerEntityEventManager.cs b/Subsurface/Source/Networking/NetEntityEvent/ServerEntityEventManager.cs index bcfb00586..720c2491c 100644 --- a/Subsurface/Source/Networking/NetEntityEvent/ServerEntityEventManager.cs +++ b/Subsurface/Source/Networking/NetEntityEvent/ServerEntityEventManager.cs @@ -96,7 +96,10 @@ namespace Barotrauma.Networking public void Clear() { + ID = 0; events.Clear(); + + server.ConnectedClients.ForEach(c => c.entityEventLastSent.Clear()); } } }