using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; namespace V3.Objects { /// /// A game object which is placed on the map. /// public interface IGameObject { Vector2 Position { get; set; } /// /// A unique ID for this game object, with which it can be identified. /// All implementations should use the IdGenerator to generate this ID. /// int Id { get; } /// /// Draws the game object on the screen. /// /// Sprite batch used for drawing. void Draw(SpriteBatch spriteBatch); /// /// The size of the object. /// Rectangle BoundaryRectangle { get; } /// /// Loads needed graphics. /// /// Content manager used. void LoadContent(ContentManager contentManager); /// /// Returns the object instance without modifications. /// /// This object. IGameObject GetSelf(); } }