public static DoorwayDirection Opposite(this DoorwayDirection dir) { switch (dir) { case DoorwayDirection.East: return(DoorwayDirection.West); case DoorwayDirection.West: return(DoorwayDirection.East); case DoorwayDirection.North: return(DoorwayDirection.South); case DoorwayDirection.South: return(DoorwayDirection.North); default: throw new InvalidOperationException(); } }
public Doorway(DoorwayDirection direction, bool open, Room room) { Direction = direction; Open = open; Room = room; switch (Direction) { case DoorwayDirection.Left: X = LegendOf50.Instance.MapRenderOffsetX; Y = LegendOf50.Instance.MapRenderOffsetY + (LegendOf50.Instance.MapHeight / 2) * LegendOf50.Instance.TileSize - LegendOf50.Instance.TileSize; Height = 32; Width = 16; break; case DoorwayDirection.Right: X = LegendOf50.Instance.MapRenderOffsetX + (LegendOf50.Instance.MapWidth * LegendOf50.Instance.TileSize) - LegendOf50.Instance.TileSize; Y = LegendOf50.Instance.MapRenderOffsetY + (LegendOf50.Instance.MapHeight / 2 * LegendOf50.Instance.TileSize) - LegendOf50.Instance.TileSize; Height = 32; Width = 16; break; case DoorwayDirection.Top: X = LegendOf50.Instance.MapRenderOffsetX + (LegendOf50.Instance.MapWidth / 2 * LegendOf50.Instance.TileSize) - LegendOf50.Instance.TileSize; Y = LegendOf50.Instance.MapRenderOffsetY; Height = 16; Width = 32; break; case DoorwayDirection.Bottom: X = LegendOf50.Instance.MapRenderOffsetX + (LegendOf50.Instance.MapWidth / 2 * LegendOf50.Instance.TileSize) - LegendOf50.Instance.TileSize; Y = LegendOf50.Instance.MapRenderOffsetY + (LegendOf50.Instance.MapHeight * LegendOf50.Instance.TileSize) - LegendOf50.Instance.TileSize; Height = 16; Width = 32; break; } }
public Doorway(DoorwayDirection dir, int x, int y) { Direction = dir; X = x; Y = y; }