/// <summary> /// Draws the hitboxes. /// </summary> /// <param name="spritebatch">The spritebatch to use for drawing.</param> /// <param name="drawarea">The area of the screen.</param> /// <param name="cameramatrix">The camera's transformation matrix. </param> /// <param name="texture">The texture used for drawing the hitbox. Should be a 1x1 white pixel.</param> public void DrawHitboxes(SpriteBatch spritebatch, Rectangle drawarea, Matrix cameramatrix, Texture2D texture) { foreach (var entity in GetSortedEntities()) { if (drawarea.Intersects(entity.Hitbox)) { var xnaentity = entity as XnaEntity; if (xnaentity != null) { xnaentity.DrawHitbox(spritebatch, cameramatrix, texture); } } } }
/// <summary> /// Initializes a new instance of the <see cref="XnaEntity"/> class. /// </summary> /// <param name="animationcache">The animationcache.</param> /// <param name="hitbox">The hitbox.</param> /// <param name="spritebatchdata">The spritebatchdata.</param> public XnaEntity(AnimationCache animationcache, Rectangle hitbox, SpriteBatchData spritebatchdata) : base(animationcache, hitbox) { SpriteBatchData = spritebatchdata; }
/// <summary> /// Initializes a new instance of the <see cref="XnaEntity"/> class. /// </summary> /// <param name="animationcache">The cache holding all the entities animations.</param> /// <param name="hitbox">The hitbox that causes interactions with the world.</param> public XnaEntity(AnimationCache animationcache, Rectangle hitbox) : this(animationcache, hitbox, new SpriteBatchData()) { }