using System; using System.Collections.Generic; using System.Text; using FlatRedBall; using FlatRedBall.Math.Geometry; using FlatRedBall.Input; namespace FlatRedBallXna { public class SimpleEntity : PositionedObject { #region Fields private Sprite mVisibleRepresentation; private Polygon mCollision; #endregion #region Properties public Polygon Collision { get { return mCollision; } } #endregion #region Methods public SimpleEntity(string contentManagerName) { SpriteManager.AddPositionedObject(this); mVisibleRepresentation = SpriteManager.AddSprite( "redball.bmp", contentManagerName); mVisibleRepresentation.AttachTo(this, false); mCollision = Polygon.CreateEquilateral( 8, // Number of sides 1, // Radius 0);// Angle of first point in radians mCollision.AttachTo(this, false); // Don't forget to attach to this // Add the collision to the ShapeManager if you // want it to be visible. This can help with debugging. bool collisionVisible = false; if (collisionVisible) { ShapeManager.AddPolygon(mCollision); } } public void Activity() { InputManager.Keyboard.ControlPositionedObject(this); } public void Destroy() { SpriteManager.RemoveSprite(mVisibleRepresentation); ShapeManager.Remove(mCollision); SpriteManager.RemovePositionedObject(this); } #endregion } }