Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        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;
            }
        }
Beispiel #3
0
 public Doorway(DoorwayDirection dir, int x, int y)
 {
     Direction = dir;
     X         = x; Y = y;
 }