#region File Description //----------------------------------------------------------------------------- // An entity is the basic renderable entity, eg something you can draw. // Entities don't have transformations of their own; instead, you put them inside // nodes which handle matrices and transformations for them. // // Author: Ronen Ness. // Since: 2017. //----------------------------------------------------------------------------- #endregion using Microsoft.Xna.Framework; namespace MonoGameSceneGraph { /// /// A basic renderable entity. /// public interface IEntity { /// /// Draw this entity. /// /// Parent node that's currently drawing this entity. /// Local transformations from the direct parent node. /// World transformations to apply on this entity (this is what you should use to draw this entity). void Draw(Node parent, Matrix localTransformations, Matrix worldTransformations); /// /// Get the bounding box of this entity (in world space). /// /// Parent node that's currently drawing this entity. /// Local transformations from the direct parent node. /// World transformations to apply on this entity (this is what you should use to draw this entity). /// Bounding box of the entity, in world space. BoundingBox GetBoundingBox(Node parent, Matrix localTransformations, Matrix worldTransformations); /// /// Return if the entity is currently visible. /// /// If the entity is visible or not. bool Visible { get; set; } } }