From 4c7e8fe57da9652ee960243ff3deda11bff8e74f Mon Sep 17 00:00:00 2001 From: juanjp600 Date: Fri, 30 Sep 2016 15:45:09 -0300 Subject: [PATCH] Character name scale based on zoom --- Subsurface/Source/Characters/AICharacter.cs | 4 ++-- Subsurface/Source/Characters/Character.cs | 9 +++++---- Subsurface/Source/Screens/GameScreen.cs | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Subsurface/Source/Characters/AICharacter.cs b/Subsurface/Source/Characters/AICharacter.cs index 1997289d1..1a3613b8b 100644 --- a/Subsurface/Source/Characters/AICharacter.cs +++ b/Subsurface/Source/Characters/AICharacter.cs @@ -64,9 +64,9 @@ namespace Barotrauma aiController.Update(deltaTime); } - public override void DrawFront(Microsoft.Xna.Framework.Graphics.SpriteBatch spriteBatch) + public override void DrawFront(Microsoft.Xna.Framework.Graphics.SpriteBatch spriteBatch,Camera cam) { - base.DrawFront(spriteBatch); + base.DrawFront(spriteBatch,cam); if (GameMain.DebugDraw && !isDead) aiController.DebugDraw(spriteBatch); } diff --git a/Subsurface/Source/Characters/Character.cs b/Subsurface/Source/Characters/Character.cs index 59a9a3f2d..d7308bbf8 100644 --- a/Subsurface/Source/Characters/Character.cs +++ b/Subsurface/Source/Characters/Character.cs @@ -1303,7 +1303,7 @@ namespace Barotrauma CharacterHUD.Draw(spriteBatch, this, cam); } - public virtual void DrawFront(SpriteBatch spriteBatch) + public virtual void DrawFront(SpriteBatch spriteBatch, Camera cam) { if (!Enabled) return; @@ -1321,14 +1321,15 @@ namespace Barotrauma if (info != null) { - Vector2 namePos = new Vector2(pos.X, pos.Y - 120.0f) - GUI.Font.MeasureString(Info.Name) * 0.5f; + Vector2 namePos = new Vector2(pos.X, pos.Y - 80.0f - (5.0f/cam.Zoom)) - GUI.Font.MeasureString(Info.Name) * 0.5f / cam.Zoom; Color nameColor = Color.White; + if (Character.Controlled != null && TeamID!=Character.Controlled.TeamID) { nameColor = Color.Red; } - spriteBatch.DrawString(GUI.Font, Info.Name, namePos + new Vector2(1.0f, 1.0f), Color.Black, 0.0f,Vector2.Zero,Vector2.One,SpriteEffects.None,0.001f); - spriteBatch.DrawString(GUI.Font, Info.Name, namePos, nameColor, 0.0f, Vector2.Zero, Vector2.One, SpriteEffects.None, 0.0f); + spriteBatch.DrawString(GUI.Font, Info.Name, namePos + new Vector2(1.0f/cam.Zoom, 1.0f / cam.Zoom), Color.Black, 0.0f,Vector2.Zero, 1.0f / cam.Zoom,SpriteEffects.None,0.001f); + spriteBatch.DrawString(GUI.Font, Info.Name, namePos, nameColor, 0.0f, Vector2.Zero, 1.0f/cam.Zoom, SpriteEffects.None, 0.0f); if (GameMain.DebugDraw) { diff --git a/Subsurface/Source/Screens/GameScreen.cs b/Subsurface/Source/Screens/GameScreen.cs index 0b040b855..d57d0542e 100644 --- a/Subsurface/Source/Screens/GameScreen.cs +++ b/Subsurface/Source/Screens/GameScreen.cs @@ -359,7 +359,7 @@ namespace Barotrauma if (Level.Loaded != null) Level.Loaded.DrawFront(spriteBatch); - foreach (Character c in Character.CharacterList) c.DrawFront(spriteBatch); + foreach (Character c in Character.CharacterList) c.DrawFront(spriteBatch,cam); spriteBatch.End();