Exemplo n.º 1
0
 private void LinkRooms(RoomRefs higherRoom, RoomRefs lowerRoom)
 {
     foreach (Transform i in higherRoom.doorSpawnPointExits)
     {
         foreach (Transform j in i)
         {
             int        doorIndex = FindTransformIndex(higherRoom.doorSpawnPointExits, i);
             GameObject k         = Instantiate(roomLinker, lowerRoom.doorSpawnPointEntrances[doorIndex].position, lowerRoom.doorSpawnPointEntrances[doorIndex].rotation, lowerRoom.doorSpawnPointEntrances[doorIndex]);
             LinkDoors(j.GetComponent <DoorScript>(), k.GetComponent <DoorScript>(), higherRoom, lowerRoom);
         }
     }
 }
Exemplo n.º 2
0
 private void LinkDoors(DoorScript door1, DoorScript door2, RoomRefs room1, RoomRefs room2)
 {
     door1.InitializeDoor(door2, room1.data.iteration);
     door2.InitializeDoor(door1, room2.data.iteration);
 }
Exemplo n.º 3
0
    private void SpawnDoors(RoomRefs room)
    {
        // SPAWNING AX/BX

        int randomResult = Random.Range(0, 2);

        GameObject spawnedDoor1;
        GameObject spawnedDoor2;

        if (randomResult == 1)
        {
            spawnedDoor1 = Instantiate(roomLinker, room.doorSpawnPointExits[(int)DOOR_SPAWN_ENTRANCE.AX].position, room.doorSpawnPointExits[(int)DOOR_SPAWN_ENTRANCE.AX].rotation, room.doorSpawnPointExits[(int)DOOR_SPAWN_ENTRANCE.AX]);
        }
        else
        {
            spawnedDoor1 = Instantiate(roomLinker, room.doorSpawnPointExits[(int)DOOR_SPAWN_ENTRANCE.BX].position, room.doorSpawnPointExits[(int)DOOR_SPAWN_ENTRANCE.BX].rotation, room.doorSpawnPointExits[(int)DOOR_SPAWN_ENTRANCE.BX]);
        }

        randomResult = Random.Range(0, 2);

        if (randomResult == 1)
        {
            spawnedDoor1 = Instantiate(roomLinker, room.doorSpawnPointExits[(int)DOOR_SPAWN_ENTRANCE.XB].position, room.doorSpawnPointExits[(int)DOOR_SPAWN_ENTRANCE.XB].rotation, room.doorSpawnPointExits[(int)DOOR_SPAWN_ENTRANCE.XB]);
        }
        else
        {
            spawnedDoor1 = Instantiate(roomLinker, room.doorSpawnPointExits[(int)DOOR_SPAWN_ENTRANCE.YB].position, room.doorSpawnPointExits[(int)DOOR_SPAWN_ENTRANCE.YB].rotation, room.doorSpawnPointExits[(int)DOOR_SPAWN_ENTRANCE.YB]);
        }


        // SPAWNING MIDDLE DOORS

        randomResult = Random.Range(0, 2);

        if (randomResult == 1)
        {
            spawnedDoor1 = Instantiate(roomLinker, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.AB1].position, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.AB1].rotation, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.AB1]);
            spawnedDoor2 = Instantiate(roomLinker, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.AB2].position, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.AB2].rotation, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.AB2]);
            LinkDoors(spawnedDoor1.GetComponent <DoorScript>(), spawnedDoor2.GetComponent <DoorScript>(), room, room);
        }
        else
        {
            randomResult = Random.Range(0, 2);
            if (randomResult == 1)
            {
                spawnedDoor1 = Instantiate(roomLinker, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.XY1].position, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.XY1].rotation, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.XY1]);
                spawnedDoor2 = Instantiate(roomLinker, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.XY2].position, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.XY2].rotation, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.XY2]);
                LinkDoors(spawnedDoor1.GetComponent <DoorScript>(), spawnedDoor2.GetComponent <DoorScript>(), room, room);
            }
            else
            {
                randomResult = Random.Range(0, 2);
                if (randomResult == 1)
                {
                    spawnedDoor1 = Instantiate(roomLinker, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.AB1].position, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.AB1].rotation, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.AB1]);
                    spawnedDoor2 = Instantiate(roomLinker, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.AB2].position, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.AB2].rotation, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.AB2]);
                    LinkDoors(spawnedDoor1.GetComponent <DoorScript>(), spawnedDoor2.GetComponent <DoorScript>(), room, room);
                }
                else
                {
                    spawnedDoor1 = Instantiate(roomLinker, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.XY1].position, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.XY1].rotation, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.XY1]);
                    spawnedDoor2 = Instantiate(roomLinker, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.XY2].position, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.XY2].rotation, room.doorSpawnPointLinks[(int)DOOR_SPAWN_MIDDLE.XY2]);
                    LinkDoors(spawnedDoor1.GetComponent <DoorScript>(), spawnedDoor2.GetComponent <DoorScript>(), room, room);
                }
            }
        }
    }