From 05408d5ec012bc92d6277766f7b336d43c455377 Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Thu, 22 Feb 2018 17:43:40 +0200 Subject: [PATCH] Fixed some items with a body disappearing when flipping a sub. Closes #273 --- .../BarotraumaShared/Source/Map/Submarine.cs | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs b/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs index 89390c9f2..24636e089 100644 --- a/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs +++ b/Barotrauma/BarotraumaShared/Source/Map/Submarine.cs @@ -679,10 +679,12 @@ namespace Barotrauma Item.UpdateHulls(); List bodyItems = Item.ItemList.FindAll(it => it.Submarine == this && it.body != null); - - foreach (MapEntity e in MapEntity.mapEntityList) + + List subEntities = MapEntity.mapEntityList.FindAll(me => me.Submarine == this); + + foreach (MapEntity e in subEntities) { - if (e.MoveWithLevel || e.Submarine != this || e is Item) continue; + if (e.MoveWithLevel || e is Item) continue; if (e is LinkedSubmarine) { @@ -701,10 +703,9 @@ namespace Barotrauma } } - for (int i = 0; i < MapEntity.mapEntityList.Count; i++) + foreach (MapEntity mapEntity in subEntities) { - if (MapEntity.mapEntityList[i].Submarine != this) continue; - MapEntity.mapEntityList[i].Move(-HiddenSubPosition); + mapEntity.Move(-HiddenSubPosition); } Vector2 pos = new Vector2(subBody.Position.X, subBody.Position.Y); @@ -719,10 +720,9 @@ namespace Barotrauma } entityGrid = Hull.GenerateEntityGrid(this); - for (int i = 0; i < MapEntity.mapEntityList.Count; i++) + foreach (MapEntity mapEntity in subEntities) { - if (MapEntity.mapEntityList[i].Submarine != this) continue; - MapEntity.mapEntityList[i].Move(HiddenSubPosition); + mapEntity.Move(HiddenSubPosition); } foreach (Item item in Item.ItemList)