From 1eaccef8c789a5ac8f6d210ef2542cdb9dacd839 Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Thu, 11 Jan 2018 20:48:26 +0200 Subject: [PATCH] Added damaged variants of junction box sprite, damaged item sprites can be set to fade in. --- .../BarotraumaClient/Source/Items/Item.cs | 37 +++++++++++++++--- .../Source/Items/ItemPrefab.cs | 6 ++- .../Content/Items/Electricity/junctionbox.png | Bin 9833 -> 27807 bytes .../Content/Items/Electricity/poweritems.xml | 4 +- .../Source/Items/ItemPrefab.cs | 6 ++- 5 files changed, 43 insertions(+), 10 deletions(-) diff --git a/Barotrauma/BarotraumaClient/Source/Items/Item.cs b/Barotrauma/BarotraumaClient/Source/Items/Item.cs index 62894cbad..9886404bf 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Item.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Item.cs @@ -24,6 +24,32 @@ namespace Barotrauma Color color = (IsSelected && editing) ? color = Color.Red : spriteColor; if (isHighlighted) color = Color.Orange; + Sprite activeSprite = prefab.sprite; + BrokenItemSprite fadeInBrokenSprite = null; + float fadeInBrokenSpriteAlpha = 0.0f; + if (condition < 100.0f) + { + for (int i = 0; i < prefab.BrokenSprites.Count; i++) + { + if (condition <= prefab.BrokenSprites[i].MaxCondition) + { + activeSprite = prefab.BrokenSprites[i].Sprite; + break; + } + + if (prefab.BrokenSprites[i].FadeIn) + { + float min = i > 0 ? prefab.BrokenSprites[i].MaxCondition : 0.0f; + float max = i < prefab.BrokenSprites.Count - 1 ? prefab.BrokenSprites[i + 1].MaxCondition : 100.0f; + fadeInBrokenSpriteAlpha = 1.0f - ((condition - min) / (max - min)); + if (fadeInBrokenSpriteAlpha > 0.0f && fadeInBrokenSpriteAlpha < 1.0f) + { + fadeInBrokenSprite = prefab.BrokenSprites[i]; + } + } + } + } + Sprite selectedSprite = prefab.GetActiveSprite(condition); if (selectedSprite != null) @@ -38,10 +64,13 @@ namespace Barotrauma if (prefab.ResizeHorizontal || prefab.ResizeVertical || SpriteEffects.HasFlag(SpriteEffects.FlipHorizontally) || SpriteEffects.HasFlag(SpriteEffects.FlipVertically)) { selectedSprite.DrawTiled(spriteBatch, new Vector2(DrawPosition.X - rect.Width / 2, -(DrawPosition.Y + rect.Height / 2)), new Vector2(rect.Width, rect.Height), color); + fadeInBrokenSprite?.Sprite.DrawTiled(spriteBatch, new Vector2(DrawPosition.X - rect.Width / 2, -(DrawPosition.Y + rect.Height / 2)), new Vector2(rect.Width, rect.Height), color * fadeInBrokenSpriteAlpha, Point.Zero, selectedSprite.Depth - 0.000001f); + } else { selectedSprite.Draw(spriteBatch, new Vector2(DrawPosition.X, -DrawPosition.Y), color, 0.0f, 1.0f, SpriteEffects.None, depth); + fadeInBrokenSprite?.Sprite.Draw(spriteBatch, new Vector2(DrawPosition.X, -DrawPosition.Y), color * fadeInBrokenSpriteAlpha, 0.0f, 1.0f, SpriteEffects.None, depth - 0.000001f); } } @@ -58,13 +87,9 @@ namespace Barotrauma { depth = holdable.Picker.AnimController.GetLimb(LimbType.LeftArm).sprite.Depth - 0.000001f; } - - body.Draw(spriteBatch, selectedSprite, color, depth); - } - else - { - body.Draw(spriteBatch, selectedSprite, color, depth); } + body.Draw(spriteBatch, selectedSprite, color, depth); + if (fadeInBrokenSprite != null) body.Draw(spriteBatch, fadeInBrokenSprite.Sprite, color * fadeInBrokenSpriteAlpha, depth - 0.000001f); } selectedSprite.effects = oldEffects; diff --git a/Barotrauma/BarotraumaClient/Source/Items/ItemPrefab.cs b/Barotrauma/BarotraumaClient/Source/Items/ItemPrefab.cs index fe606c4cb..ce8eaeb9d 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/ItemPrefab.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/ItemPrefab.cs @@ -10,11 +10,13 @@ namespace Barotrauma //sprite will be rendered if the condition of the item is below this public readonly float MaxCondition; public readonly Sprite Sprite; + public readonly bool FadeIn; - public BrokenItemSprite(Sprite sprite, float maxCondition) + public BrokenItemSprite(Sprite sprite, float maxCondition, bool fadeIn) { Sprite = sprite; - MaxCondition = maxCondition; + MaxCondition = MathHelper.Clamp(maxCondition, 0.0f, 100.0f); + FadeIn = fadeIn; } } diff --git a/Barotrauma/BarotraumaShared/Content/Items/Electricity/junctionbox.png b/Barotrauma/BarotraumaShared/Content/Items/Electricity/junctionbox.png index 4517fd1394169f5b7b9c5cd488b4e9458d328413..59b7426549418fea7fb740f2eaf2231c28ab55c3 100644 GIT binary patch literal 27807 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 P00000NkvXXu0mjfNFbh3 diff --git a/Barotrauma/BarotraumaShared/Content/Items/Electricity/poweritems.xml b/Barotrauma/BarotraumaShared/Content/Items/Electricity/poweritems.xml index d635e7929..81c2188f4 100644 --- a/Barotrauma/BarotraumaShared/Content/Items/Electricity/poweritems.xml +++ b/Barotrauma/BarotraumaShared/Content/Items/Electricity/poweritems.xml @@ -7,7 +7,9 @@ description="Serves as a hub for power distribution and relaying signals between devices."> - + + + diff --git a/Barotrauma/BarotraumaShared/Source/Items/ItemPrefab.cs b/Barotrauma/BarotraumaShared/Source/Items/ItemPrefab.cs index dfb6ce209..711fb23b2 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/ItemPrefab.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/ItemPrefab.cs @@ -311,7 +311,11 @@ namespace Barotrauma brokenSpriteFolder = Path.GetDirectoryName(filePath); } - var brokenSprite = new BrokenItemSprite(new Sprite(subElement, brokenSpriteFolder), subElement.GetAttributeFloat("maxcondition", 0.0f)); + var brokenSprite = new BrokenItemSprite( + new Sprite(subElement, brokenSpriteFolder), + subElement.GetAttributeFloat("maxcondition", 0.0f), + subElement.GetAttributeBool("fadein", false)); + int spriteIndex = 0; for (int i = 0; i < BrokenSprites.Count && BrokenSprites[i].MaxCondition < brokenSprite.MaxCondition; i++) {