Esempio n. 1
0
        bool _generateSubPath_sub_2(Position pos)
        {
            maze_room_internal room = getRoom(pos);

            if (room != null)
            {
                for (int i = 0; i < 4; i++)
                {
                    if (room.GetPassageType(i) == 0)
                    {
                        if (this.isRoomInDirectionFree(pos, i))
                        {
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }
Esempio n. 2
0
        bool _create_sub_path_recursive(Position pos)
        {
            RoomTrait          room      = getRoom(pos);
            maze_room_internal maze_room = maze_generator.getRoom(pos);

            room.roomType = 1;
            for (int direction = 0; direction < 4; direction++)
            {
                if (maze_room.GetPassageType(direction) == 2)
                {
                    Position biased_pos = pos.GetBiasedPosition(direction);
                    if (room != null)
                    {
                        room.Link(direction, 2);
                    }
                    return(_create_sub_path_recursive(biased_pos));
                }
            }
            return(true);
        }