Beispiel #1
0
 public void AddConnection(RoomConnectionInfo direction)
 {
     if (!HasConnectionOn(direction))
     {
         connections.Add(direction);
     }
 }
Beispiel #2
0
    void ConnectRooms(Room one, Room two, bool onMainPath = true)
    {
        Directions         roomDirection = DirectionHandler.GetClosestDirection(two.DungeonPosition - one.DungeonPosition);
        RoomConnectionInfo rci           = new RoomConnectionInfo(roomDirection, onMainPath);

        one.AddConnection(rci);
        rci = new RoomConnectionInfo(DirectionHandler.GetOppositeDirection(roomDirection), true);
        two.AddConnection(rci);
    }
Beispiel #3
0
    public void AddDoor(RoomConnectionInfo rci)
    {
        switch (rci.direction)
        {
        case Directions.Up:
            topDoorSection = CreateDoor(topWall, topDoorSection, tileset.topDoor, rci.isMainPath);
            break;

        case Directions.Left:
            leftDoorSection = CreateDoor(leftWall, leftDoorSection, tileset.leftDoor, rci.isMainPath);
            break;

        case Directions.Down:
            bottomDoorSection = CreateDoor(bottomWall, bottomDoorSection, tileset.bottomDoor, rci.isMainPath);
            break;

        case Directions.Right:
            rightDoorSection = CreateDoor(rightWall, rightDoorSection, tileset.rightDoor, rci.isMainPath);
            break;
        }
    }
Beispiel #4
0
 bool HasConnectionOn(RoomConnectionInfo direction)
 {
     return(connections.Contains(direction));
 }