public void Draw()
 {
     if (phaseOne)
     {
         spawnableManager.DrawGameLose();
         roomStatePreserved.Hud.Draw();
         redOverlaySprite.Draw(Game.SpriteBatch, new Point(Constants.MinXPos, Constants.MinYPos), Constants.DrawLayer.RedDeathBlanket);
         link_die.Play();
     }
     else if (phaseTwo)
     {
         gameOverSprite.Draw(Game.SpriteBatch, GameStateConstants.LoseStateGameOverSpriteLocation, Constants.DrawLayer.MenuButton);
         game_over.IsLooped = true;
         game_over.Play();
     }
     else if (phaseThree)
     {
         GameLoseMenu.Draw();
     }
 }
        public void Update()
        {
            if (phaseOne)
            {
                phaseOneBuffer++;
                for (int i = 0; i < spawnableManager.PlayerList.Count; i++)
                {
                    if (!spawnableManager.PlayerList[i].SafeToDespawn)
                    {
                        spawnableManager.PlayerList[i].Update();
                    }
                }

                if (phaseOneBuffer == 150)
                {
                    phaseOne = false;
                    phaseTwo = true;
                }
            }
            else if (phaseTwo)
            {
                phaseTwoBuffer++;
                if (phaseTwoBuffer > 150)
                {
                    phaseTwo   = false;
                    phaseThree = true;
                }
            }
            else if (phaseThree)
            {
                foreach (IController controller in controllerList)
                {
                    controller.Update();
                }
                GameLoseMenu.Update();
            }
        }