예제 #1
0
    private static void InstantiateRoomDoor(int x, int y, int floor, string block, Dungeon layout)
    {
        if (block != "X")
        {
            return;
        }
        var room = LevelGenRoomUtils.GetRoomFromCoords(x, y, floor, layout);

        if (room is CommonSpace)
        {
            return;
        }
        if (LevelGenRoomUtils.IsRoomEntrance(x, y, floor, layout, 3) && LevelGenGridUtils.IsCorridor(x - 1, y, floor, layout.grid))
        {
            MakeRoomDoor(x - 0.5f, y, 90);
        }
        if (LevelGenRoomUtils.IsRoomEntrance(x, y, floor, layout, 1) && LevelGenGridUtils.IsCorridor(x + 1, y, floor, layout.grid))
        {
            MakeRoomDoor(x + 0.5f, y, 270);
        }
        if (LevelGenRoomUtils.IsRoomEntrance(x, y, floor, layout, 0) && LevelGenGridUtils.IsCorridor(x, y - 1, floor, layout.grid))
        {
            MakeRoomDoor(x, y - 0.5f, 180);
        }
        if (LevelGenRoomUtils.IsRoomEntrance(x, y, floor, layout, 2) && LevelGenGridUtils.IsCorridor(x, y + 1, floor, layout.grid))
        {
            MakeRoomDoor(x, y + 0.5f, 0);
        }
    }
예제 #2
0
 private static void InstantiateRoomWall(int x, int y, int floor, string block, Dungeon layout)
 {
     if (block != "X")
     {
         return;
     }
     if (!LevelGenRoomUtils.IsRoomEntrance(x, y, floor, layout, 3) && LevelGenGridUtils.IsCorridor(x - 1, y, floor, layout.grid))
     {
         MakeRoomWall(x - 0.5f, y, 0);
     }
     if (!LevelGenRoomUtils.IsRoomEntrance(x, y, floor, layout, 1) && LevelGenGridUtils.IsCorridor(x + 1, y, floor, layout.grid))
     {
         MakeRoomWall(x + 0.5f, y, 180);
     }
     if (!LevelGenRoomUtils.IsRoomEntrance(x, y, floor, layout, 0) && LevelGenGridUtils.IsCorridor(x, y - 1, floor, layout.grid))
     {
         MakeRoomWall(x, y - 0.5f, 90);
     }
     if (!LevelGenRoomUtils.IsRoomEntrance(x, y, floor, layout, 2) && LevelGenGridUtils.IsCorridor(x, y + 1, floor, layout.grid))
     {
         MakeRoomWall(x, y + 0.5f, 270);
     }
 }