/// <summary>
 /// Releases unmanaged and - optionally - managed resources
 /// </summary>
 /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
 protected virtual void Dispose(bool disposing)
 {
     if (disposing)
       {
     this.terrain.Dispose();
     this.terrain = null;
     this.explosionBillboard.Dispose();
     this.explosionBillboard = null;
       }
 }
        /// <summary>
        /// Loads the content.
        /// </summary>
        public void LoadContent()
        {
            ////this.castles = new Castle[Ballerburg.Gameplay.Constants.NumCastles];
              castles[0] = contentManager.Castle1;
              castles[1] = contentManager.Castle2;
              castles[2] = contentManager.Castle3;
              castles[3] = contentManager.Castle4;
              castles[4] = contentManager.Castle5;
              castles[5] = contentManager.Castle6;
              castles[6] = contentManager.Castle7;
              castles[7] = contentManager.Castle8;

              // Init the cannonball array
              this.activeCannonballs = new Cannonball[MaxCannonBalls];
              for (var i = 0; i < MaxCannonBalls; i++)
              {
            activeCannonballs[i] = new Cannonball(contentManager);
              }

              skyBox = contentManager.SkyBox;

              terrain = new Terrain(contentManager, graphicsDevice);

              explosionBillboard = new AnimatedBillboard(false, contentManager);
              explosionBillboard.LoadContent();
              explosionBillboard.InitGraphics(graphicsDevice.GraphicsDevice);

              explosionBillboard.PrepareAnimation();
              explosionBillboard.Pause();
        }