Highlighted items glow in the dark, health bars are hidden when health is full, usernames and health bars are drawn at full brightness

This commit is contained in:
Regalis
2016-07-31 19:13:08 +03:00
parent 1a0451d0a8
commit 581a7d5d9f
6 changed files with 26 additions and 9 deletions

View File

@@ -1281,6 +1281,9 @@
<None Include="Content\Sounds\Music\Unseen Horrors.ogg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Content\Sounds\pickItem.ogg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Content\Sounds\stepMetal.ogg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>

View File

@@ -1165,10 +1165,13 @@ namespace Barotrauma
if (isDead) return;
Vector2 healthBarPos = new Vector2(pos.X - 50, DrawPosition.Y + 100.0f);
if (health < maxHealth * 0.98f)
{
Vector2 healthBarPos = new Vector2(pos.X - 50, DrawPosition.Y + 100.0f);
GUI.DrawProgressBar(spriteBatch, healthBarPos, new Vector2(100.0f, 15.0f), health / maxHealth, Color.Lerp(Color.Red, Color.Green, health / maxHealth) * 0.8f);
}
GUI.DrawProgressBar(spriteBatch, healthBarPos, new Vector2(100.0f, 15.0f), health / maxHealth, Color.Lerp(Color.Red, Color.Green, health / maxHealth) * 0.8f);
if (speechBubbleTimer > 0.0f)
{
GUI.SpeechBubbleIcon.Draw(spriteBatch, pos - Vector2.UnitY * 100.0f,

View File

@@ -21,7 +21,8 @@ namespace Barotrauma
Message,
RadioMessage,
DeadMessage,
Click
Click,
Inventory,
}
public class GUI
@@ -90,11 +91,14 @@ namespace Barotrauma
if (loadSounds)
{
sounds = new Sound[4];
sounds = new Sound[Enum.GetValues(typeof(GUISoundType)).Length];
sounds[(int)GUISoundType.Message] = Sound.Load("Content/Sounds/UI/UImsg.ogg", false);
sounds[(int)GUISoundType.RadioMessage] = Sound.Load("Content/Sounds/UI/radiomsg.ogg", false);
sounds[(int)GUISoundType.DeadMessage] = Sound.Load("Content/Sounds/UI/deadmsg.ogg", false);
sounds[(int)GUISoundType.Click] = Sound.Load("Content/Sounds/UI/beep-shinymetal.ogg", false);
sounds[(int)GUISoundType.Inventory] = Sound.Load("Content/Sounds/pickItem.ogg", false);
}
// create 1x1 texture for line drawing

View File

@@ -181,7 +181,7 @@ namespace Barotrauma
backgroundColor = new Color(backgroundColor, 1.0f);
float avgValue = (backgroundColor.R + backgroundColor.G + backgroundColor.G) / 3;
GameMain.LightManager.AmbientLight = new Color(backgroundColor*(40.0f/avgValue), 1.0f);
GameMain.LightManager.AmbientLight = new Color(backgroundColor * (60.0f / avgValue), 1.0f);
float minWidth = Submarine.MainSub == null ? 0.0f : Math.Max(Submarine.MainSub.Borders.Width, Submarine.MainSub.Borders.Height);
minWidth = Math.Max(minWidth, 6500.0f);

View File

@@ -111,6 +111,7 @@ namespace Barotrauma.Lights
//where Alpha is 0, nothing will be written
spriteBatch.Begin(SpriteSortMode.Deferred, CustomBlendStates.MultiplyWithAlpha, null, null, null, null, cam.Transform);
light.Draw(spriteBatch);
spriteBatch.End();
}
@@ -122,6 +123,7 @@ namespace Barotrauma.Lights
GameMain.ParticleManager.Draw(spriteBatch, false, Particles.ParticleBlendState.Additive);
foreach (LightSource light in lights)
{
if (light.Color.A < 0.01f || light.Range < 1.0f || light.CastShadows) continue;
@@ -130,6 +132,11 @@ namespace Barotrauma.Lights
light.Draw(spriteBatch);
}
if (Character.Controlled != null && Character.Controlled.ClosestItem != null)
{
Character.Controlled.ClosestItem.Draw(spriteBatch, false, true);
Character.Controlled.ClosestItem.IsHighlighted = true;
}
spriteBatch.End();
//clear alpha, to avoid messing stuff up later

View File

@@ -317,8 +317,6 @@ namespace Barotrauma
null, null, null,
cam.Transform);
foreach (Character c in Character.CharacterList) c.DrawFront(spriteBatch);
Submarine.DrawFront(spriteBatch);
spriteBatch.End();
@@ -330,7 +328,9 @@ namespace Barotrauma
null, null, null,
cam.Transform);
if (Level.Loaded!=null) Level.Loaded.DrawFront(spriteBatch);
if (Level.Loaded != null) Level.Loaded.DrawFront(spriteBatch);
foreach (Character c in Character.CharacterList) c.DrawFront(spriteBatch);
spriteBatch.End();