Class that manages all the on screen textures that are classified under the Heads-Up Display. Will render the texture on screen at it's correct position. Will handle any updates or unique factors these textures will have on them such as fading in/out, moving in/out, filling up/draining down, etc.


  • GameManager : Created and updated in GameManager
  • StructClass : Textures will be held in the GameTexture struct.


  • GameTexture healthTexture - texture for players health
  • GameTexture powerTexture - texture for players spirit form
  • GameTexture possessionTexture - texture for possession meter
  • GameTexture ability1Texture - texture for ability 1
  • GameTexture ability2Texture - texture for ability 2
  • GameTexture specialAbilityTexture - texture for special ability
  • GameTexture bossHealthTexture - texture for bosses health
  • GameTexture enemyHealthTexture - texture for enemies health
  • GameTexture enemyPowerTexture - texture for enemies willpower
  • GameTexture possessionBoxTexture - texture for possession box
  • GameTexture possessionMeterTexture - texture for possession percentage
  • GameManager game - provide access to all game elements


  • Reset
    • Resets all textures, variables, and images back to their default position. Used at the start of a new level (or game)
  • HUD
    • Initializes all variables in the HUD class to default numbers
  • Update
    • Updates all changing variables and textures. Will access this through game passed through constructor and grab the accessor it needs from there (i.e. game.GameManager.Player.PlayerHealth)
  • Draw
    • Draws all textures on the screen. Things which need to be displayed include possession energy, health of the player and possessed enemy, icons for abilities of the currently possessed enemy, boss name and health if in a boss fight, and when in possession mode a health aura and willpower aura for enemies, a red box which shows possession range and finally a possession meter while attempting a soft possession or soft release.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License