/// <summary> /// Bounces the Sprite off the wall of the LimitBox /// </summary> /// <param name="limitObject"> The LimitObject holding data for Limiting </param> public static void Bounce(LimitObject limitObject) { if (limitObject.Direction == Direction.North || limitObject.Direction == Direction.South) limitObject.LimitingSprite.Velocity.Y *= -1; else if (limitObject.Direction == Direction.East || limitObject.Direction == Direction.West) limitObject.LimitingSprite.Velocity.X *= -1; }
/// <summary> /// Wraps the Sprite round its LimitBox by moving to other side /// </summary> /// <param name="limitObject"> The LimitObject holding data for Limiting </param> public static void Wrap(LimitObject limitObject) { if (limitObject.Direction == Direction.North) limitObject.LimitingSprite.Position.Y += (limitObject.LimitingSprite.LimitBox.Height + limitObject.LimitingSprite.Size.Y); else if (limitObject.Direction == Direction.South) limitObject.LimitingSprite.Position.Y -= (limitObject.LimitingSprite.LimitBox.Height + limitObject.LimitingSprite.Size.Y); else if (limitObject.Direction == Direction.East) limitObject.LimitingSprite.Position.X -= (limitObject.LimitingSprite.LimitBox.Width + limitObject.LimitingSprite.Size.X); else if (limitObject.Direction == Direction.West) limitObject.LimitingSprite.Position.X += (limitObject.LimitingSprite.LimitBox.Width + limitObject.LimitingSprite.Size.X); }