private bool IsOutOfBound(FieldCoordinate newPosition) { if (newPosition.X < 0 || newPosition.X > map.Tiles.Columns) return true; if (newPosition.Y < 0 || newPosition.Y > map.Tiles.Rows) return true; return false; }
private FieldCoordinate Move(Direction direction, FieldCoordinate fieldCoordinate) { switch (direction) { case Direction.Down: return new FieldCoordinate(fieldCoordinate.X, fieldCoordinate.Y + 1); case Direction.Left: return new FieldCoordinate(fieldCoordinate.X - 1, fieldCoordinate.Y); case Direction.Right: return new FieldCoordinate(fieldCoordinate.X + 1, fieldCoordinate.Y); case Direction.Up: return new FieldCoordinate(fieldCoordinate.X, fieldCoordinate.Y - 1); } return default(FieldCoordinate); }
private bool IsBlocked(FieldCoordinate newPosition) { return !map.Tiles[newPosition.Y, newPosition.X].IsAccessable; }
public void PlaceSprite(int spriteId, FieldCoordinate fieldCoordinate) { sprites[spriteId] = fieldCoordinate; }