From 9c07ebda5345b757c682e4f22f7e79306fceb206 Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Mon, 8 Apr 2019 13:36:00 +0300 Subject: [PATCH] (8311f9380) Merge branch 'dev' of https://github.com/Regalis11/Barotrauma-development into dev --- .../Source/Characters/Character.cs | 27 +++++++++---------- .../AI/Objectives/AIObjectiveIdle.cs | 1 - 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/Barotrauma/BarotraumaClient/Source/Characters/Character.cs b/Barotrauma/BarotraumaClient/Source/Characters/Character.cs index 2afdc5fba..6c4c85bb8 100644 --- a/Barotrauma/BarotraumaClient/Source/Characters/Character.cs +++ b/Barotrauma/BarotraumaClient/Source/Characters/Character.cs @@ -284,25 +284,22 @@ namespace Barotrauma Lights.LightManager.ViewTarget = this; CharacterHUD.Update(deltaTime, this, cam); - - bool removeProgressBars = false; - - foreach (HUDProgressBar progressBar in hudProgressBars.Values) + + if (hudProgressBars.Any()) { - if (progressBar.FadeTimer <= 0.0f) + foreach (var progressBar in hudProgressBars) { - removeProgressBars = true; - continue; + if (progressBar.Value.FadeTimer <= 0.0f) + { + progressBarRemovals.Add(progressBar); + continue; + } + progressBar.Value.Update(deltaTime); } - progressBar.Update(deltaTime); - } - - if (removeProgressBars) - { - // TODO: this generates garbage, can we fix anything here? - foreach (var pb in hudProgressBars.Where(pb => pb.Value.FadeTimer <= 0.0f).ToList()) + if (progressBarRemovals.Any()) { - hudProgressBars.Remove(pb.Key); + progressBarRemovals.ForEach(pb => hudProgressBars.Remove(pb.Key)); + progressBarRemovals.Clear(); } } } diff --git a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveIdle.cs b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveIdle.cs index 5be2b5d54..bad0fcffd 100644 --- a/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveIdle.cs +++ b/Barotrauma/BarotraumaShared/Source/Characters/AI/Objectives/AIObjectiveIdle.cs @@ -198,7 +198,6 @@ namespace Barotrauma private void FindTargetHulls() { - var idCard = character.Inventory.FindItemByIdentifier("idcard"); bool isCurrentHullOK = !HumanAIController.UnsafeHulls.Contains(character.CurrentHull) && !IsForbidden(character.CurrentHull); targetHulls.Clear();