public static void StartBouncingOffScreenEdges(this Entity2D entity, Vector2D velocity,
                                                Action bounced)
 {
     AddSimplePhysicsDataIfNeeded(entity);
     entity.Get <SimplePhysics.Data>().Velocity = velocity;
     entity.Get <SimplePhysics.Data>().Bounced  = bounced;
     entity.Start <SimplePhysics.Move>();
     entity.Start <SimplePhysics.BounceIfAtScreenEdge>();
 }
 public static void StartFalling(this Entity2D entity, Vector2D velocity, Vector2D gravity)
 {
     AddSimplePhysicsDataIfNeeded(entity);
     entity.Get <SimplePhysics.Data>().Velocity = velocity;
     entity.Get <SimplePhysics.Data>().Gravity  = gravity;
     entity.Start <SimplePhysics.Move>();
 }
 public static void StartRotating(this Entity2D entity, float rotationSpeed)
 {
     AddSimplePhysicsDataIfNeeded(entity);
     entity.Get <SimplePhysics.Data>().RotationSpeed = rotationSpeed;
     entity.Start <SimplePhysics.Rotate>();
 }