public void WalkWest() { _animation = "walkright"; if (FacingDirection != IntercardinalDirection.West || _inIdle) { _sprite.Play(_animation, AnimationOptions.Looped); _inIdle = false; } _sprite.SpriteEffects = SpriteEffects.FlipHorizontally; FacingDirection = IntercardinalDirection.West; }
public void WalkSouth() { _animation = "walkdown"; if (FacingDirection != IntercardinalDirection.South || _inIdle) { _sprite.Play(_animation, AnimationOptions.Looped); _inIdle = false; } _sprite.SpriteEffects = SpriteEffects.None; FacingDirection = IntercardinalDirection.South; }
public void WalkEast() { _animation = "walkright"; if (FacingDirection != IntercardinalDirection.East || _inIdle) { _sprite.Play(_animation, AnimationOptions.Looped); _inIdle = false; } _sprite.SpriteEffects = SpriteEffects.None; FacingDirection = IntercardinalDirection.East; }
/// <summary> /// Truncates a IntercardinalDirection to the closest CardinalDirection enum. /// </summary> public static CardinalDirection ToCardinalDirection(this IntercardinalDirection dir) => (CardinalDirection)((int)dir / 2);