Ignore:
Timestamp:
2011-06-22 14:48:22 (8 years ago)
Author:
sijoseha
Message:

Basic HUD stuff implemented

Location:
2011/23/sijoseha/Fera Proelia/Fera Proelia/Fera Proelia
Files:
4 added
13 edited

Legend:

Unmodified
Added
Removed
  • 2011/23/sijoseha/Fera Proelia/Fera Proelia/Fera Proelia/Fera Proelia.csproj

    r2141 r2144  
    9191    <Compile Include="GameScreen.cs" /> 
    9292    <Compile Include="HUD.cs" /> 
     93    <Compile Include="HUDComponent.cs" /> 
     94    <Compile Include="HUDImage.cs" /> 
     95    <Compile Include="HUDText.cs" /> 
    9396    <Compile Include="InputState.cs" /> 
    9497    <Compile Include="ISelectable.cs" /> 
  • 2011/23/sijoseha/Fera Proelia/Fera Proelia/Fera Proelia/Fera Proelia.csproj.Debug.cachefile

    r2141 r2144  
    33Content\menuFont.xnb 
    44Content\groundTexture.xnb 
     5Content\hudFont.xnb 
  • 2011/23/sijoseha/Fera Proelia/Fera Proelia/Fera Proelia/GameplayScreen.cs

    r2141 r2144  
    1414 
    1515        Tile[,] mapTiles; 
    16         const int TILE_SIZE= 48; 
     16        const int TILE_SIZE= 68; 
    1717 
    1818        List<GameObject> gameObjects; 
    19  
     19        HUD hud; 
    2020        Rectangle mapArea, guiArea; 
    2121 
     
    2828        { 
    2929            if (content == null) 
    30                 content = new ContentManager(ScreenManager.Game.Services, "Content");  
    31  
    32             mapArea = new Rectangle(0, 0, ScreenManager.GraphicsDevice.Viewport.Width, 500); 
    33             guiArea = new Rectangle(0, 520, ScreenManager.GraphicsDevice.Viewport.Width, ScreenManager.GraphicsDevice.Viewport.Height - 520); 
     30                content = new ContentManager(ScreenManager.Game.Services, "Content"); 
     31             
     32            mapArea = new Rectangle(0, 0, ScreenManager.GraphicsDevice.Viewport.Width, 544); 
     33            guiArea = new Rectangle(0, 544, ScreenManager.GraphicsDevice.Viewport.Width, ScreenManager.GraphicsDevice.Viewport.Height - 544); 
     34            hud = new HUD(guiArea, ScreenManager.HudFont); 
     35            hud.AddComponent(new HUDText("Name", new Vector2(30, 30), Color.Black)); 
     36            hud.AddComponent(new HUDText("Race", new Vector2(30, 50), Color.Black)); 
     37            hud.AddComponent(new HUDText("Age", new Vector2(30, 70), Color.Black)); 
     38            hud.BackgroundTexture = content.Load<Texture2D>("hudBg"); 
    3439 
    3540            int mapWidth = mapArea.Width / TILE_SIZE; 
     
    5358            gameObjects = new List<GameObject>(); 
    5459             
    55             for (int i = 0; i < 10; i++) 
     60            for (int i = 0; i < 7; i++) 
    5661            { 
    5762                for (int j = 0; j < 10; j++) 
    5863                { 
    59                     Beast test = new Beast(new Vector2(i * 50, j * 50), 50, 50); 
     64                    Beast test = new Beast(new Vector2(i * 68, j * 68), 68, 68); 
    6065                    test.Texture = testTex; 
    6166                    gameObjects.Add(test); 
     
    137142                sb.Draw(o.Texture, o.Position, Color.White); 
    138143            } 
     144            hud.Draw(sb, gameTime); 
    139145            sb.End(); 
    140146            base.Draw(gameTime); 
  • 2011/23/sijoseha/Fera Proelia/Fera Proelia/Fera Proelia/HUD.cs

    r2119 r2144  
    66namespace Fera_Proelia 
    77{ 
    8     public class HUD : DrawableGameComponent 
     8    public class HUD 
    99    { 
    10         private Texture2D backgroundTexture; 
     10        public Texture2D BackgroundTexture { get; set; } 
     11        public Rectangle Borders { get; set; } 
     12        private SpriteFont font; 
     13        private Rectangle[] areas; 
     14        private List<HUDComponent> hudComponents; 
    1115 
    12         public HUD(Game game, Texture2D bgTex) 
    13             : base(game) 
     16        public HUD(Rectangle borders, SpriteFont font) 
    1417        { 
    15             backgroundTexture = bgTex; 
     18            Borders = borders; 
     19            this.font = font; 
     20            hudComponents = new List<HUDComponent>(); 
    1621        } 
    1722 
    18         public override void Draw(GameTime gameTime) 
     23        public void AddComponent(HUDComponent component) 
    1924        { 
    20             //SpriteBatch sb =  
    21             base.Draw(gameTime); 
     25            hudComponents.Add(component); 
     26        } 
     27 
     28        public void Draw(SpriteBatch sb, GameTime gameTime) 
     29        { 
     30            sb.Draw(BackgroundTexture, Borders, Color.White); 
     31            foreach (HUDComponent component in hudComponents) 
     32            { 
     33                Vector2 position = new Vector2(Borders.X + component.Position.X, Borders.Y + component.Position.Y); 
     34                if (component.GetType() == typeof(HUDText)) 
     35                { 
     36                    sb.DrawString(font, component.Text, position, component.Color); 
     37                } 
     38                if (component.GetType() == typeof(HUDImage)) 
     39                    sb.Draw(component.Texture, component.Position, Color.White); 
     40            } 
    2241        } 
    2342    } 
  • 2011/23/sijoseha/Fera Proelia/Fera Proelia/Fera Proelia/ScreenManager.cs

    r2141 r2144  
    1717 
    1818        SpriteBatch spriteBatch; 
    19         SpriteFont menuFont; 
     19        SpriteFont menuFont, hudFont; 
    2020 
    2121        bool isInitialized; 
     
    2323        public SpriteBatch SpriteBatch { get { return spriteBatch; } } 
    2424        public SpriteFont MenuFont { get { return menuFont; } } 
     25        public SpriteFont HudFont { get { return hudFont; } } 
    2526 
    2627        public ScreenManager(Game game) 
     
    4142            spriteBatch = new SpriteBatch(GraphicsDevice); 
    4243            menuFont = content.Load<SpriteFont>("menuFont"); 
     44            hudFont = content.Load<SpriteFont>("hudFont"); 
    4345            foreach (GameScreen screen in screens) 
    4446            { 
  • 2011/23/sijoseha/Fera Proelia/Fera Proelia/Fera Proelia/obj/Windows Phone/Debug/Fera Proelia.csproj.FileListAbsolute.txt

    r2141 r2144  
    1515D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\Content\menuFont.xnb 
    1616D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\Content\groundTexture.xnb 
    17 D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\Fera Proelia.xap 
    18 D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\obj\Windows Phone\Debug\XapCacheFile.xml 
    19 D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\AppManifest.xaml 
    20 D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\obj\Windows Phone\Debug\WMAppManifest.xml.g 
    21 D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\obj\Windows Phone\Debug\WMAppManifest.xml 
    22 bin\Windows Phone\Debug\GameThumbnail.png 
     17D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\Content\hudFont.xnb 
  • 2011/23/sijoseha/Fera Proelia/Fera Proelia/Fera Proelia/obj/Windows Phone/Debug/XapCacheFile.xml

    r2141 r2144  
    1 <xapCache source="D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\Fera Proelia.xap" wasSigned="False" certificateThumbprint="" TimeStampUrl="" lastWriteTime="21.6.2011 21:59:52"> 
     1<xapCache source="D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\Fera Proelia.xap" wasSigned="False" certificateThumbprint="" TimeStampUrl="" lastWriteTime="22.6.2011 14:43:33"> 
    22  <file source="D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\Background.png" archivePath="Background.png" lastWriteTime="17.6.2011 8:19:55" /> 
    33  <file source="D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\GameThumbnail.png" archivePath="GameThumbnail.png" lastWriteTime="17.6.2011 8:19:55" /> 
    44  <file source="D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\AppManifest.xaml" archivePath="AppManifest.xaml" lastWriteTime="17.6.2011 9:42:42" /> 
    55  <file source="D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\obj\Windows Phone\Debug\WMAppManifest.xml" archivePath="WMAppManifest.xml" lastWriteTime="17.6.2011 8:19:55" /> 
    6   <file source="D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\Fera Proelia.dll" archivePath="Fera Proelia.dll" lastWriteTime="21.6.2011 21:59:51" /> 
     6  <file source="D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\Fera Proelia.dll" archivePath="Fera Proelia.dll" lastWriteTime="22.6.2011 14:43:33" /> 
    77  <file source="D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\Content\debugImage.xnb" archivePath="Content\debugImage.xnb" lastWriteTime="20.6.2011 10:40:59" /> 
    88  <file source="D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\Content\hudBg.xnb" archivePath="Content\hudBg.xnb" lastWriteTime="20.6.2011 10:40:59" /> 
    99  <file source="D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\Content\menuFont.xnb" archivePath="Content\menuFont.xnb" lastWriteTime="21.6.2011 10:08:42" /> 
    1010  <file source="D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\Content\groundTexture.xnb" archivePath="Content\groundTexture.xnb" lastWriteTime="21.6.2011 14:29:18" /> 
     11  <file source="D:\Temp\sijoseha\Fera Proelia\Fera Proelia\Fera Proelia\bin\Windows Phone\Debug\Content\hudFont.xnb" archivePath="Content\hudFont.xnb" lastWriteTime="22.6.2011 9:55:02" /> 
    1112</xapCache> 
  • 2011/23/sijoseha/Fera Proelia/Fera Proelia/Fera Proelia/obj/Windows Phone/Debug/cachefile-{D61D4EFB-D076-4A82-A048-9E0EC82420B4}-targetpath.txt

    r2141 r2144  
    33Content\menuFont.xnb 
    44Content\groundTexture.xnb 
     5Content\hudFont.xnb 
Note: See TracChangeset for help on using the changeset viewer.