Exemplo n.º 1
0
    void SpawnMobRooms()
    {
        GameObject toInstantiate;
        GameObject prevRoom;
        float      test;

        toInstantiate = Instantiate(mobRooms[0], new Vector3(widthOffset, heightOffset, 0), Quaternion.identity);
        test          = toInstantiate.GetComponent <RoomProperties>().roomHeight / 2;
        toInstantiate.transform.position = new Vector3(widthOffset, (heightOffset / 2) - test, 0);
        Debug.Log("I am a" + test);
        prevRoom                     = mobRooms[0];
        prevRoomProperties           = toInstantiate.GetComponent <RoomProperties>();
        prevRoomProperties.direction = RoomProperties.CORRIDOR_DIRECTION.EAST;
        Debug.Log(prevRoomProperties.direction);
        int numMobRoomsSpawned = 0;

        //do
        //{
        if (prevRoomProperties.direction == RoomProperties.CORRIDOR_DIRECTION.NORTH)
        {
            int index = -1;

            for (int i = 0; i < mobRooms.Count; i++)
            {
                if (mobRooms[i] != mobRooms[0])
                {
                    if ((mobRooms[i].GetComponent <RoomProperties>().direction & RoomProperties.CORRIDOR_DIRECTION.SOUTH) == RoomProperties.CORRIDOR_DIRECTION.SOUTH)
                    {
                        Debug.Log("IM IN");
                        index = i;
                        break;
                    }
                }
            }

            if (index != -1)
            {
                ;
                toInstantiate = Instantiate(mobRooms[index], new Vector3(0, -heightOffset, 0), Quaternion.identity);
                numMobRoomsSpawned++;
            }
        }

        else if (prevRoomProperties.direction == RoomProperties.CORRIDOR_DIRECTION.EAST)
        {
            int index = -1;

            for (int i = 0; i < mobRooms.Count; i++)
            {
                if (mobRooms[i] != mobRooms[0])
                {
                    if ((mobRooms[i].GetComponent <RoomProperties>().direction & RoomProperties.CORRIDOR_DIRECTION.WEST) == RoomProperties.CORRIDOR_DIRECTION.WEST)
                    {
                        index = i;
                        break;
                    }
                }
            }

            if (index != -1)
            {
                toInstantiate = Instantiate(mobRooms[index], new Vector3(widthOffset, 0, 0), Quaternion.identity);
                numMobRoomsSpawned++;
            }
        }

        else if (prevRoomProperties.direction == RoomProperties.CORRIDOR_DIRECTION.SOUTH)
        {
            int index = -1;

            for (int i = 0; i < mobRooms.Count; i++)
            {
                if (mobRooms[i] != mobRooms[0])
                {
                    if ((mobRooms[i].GetComponent <RoomProperties>().direction & RoomProperties.CORRIDOR_DIRECTION.NORTH) == RoomProperties.CORRIDOR_DIRECTION.NORTH)
                    {
                        index = i;
                        break;
                    }
                }
            }

            if (index != -1)
            {
                toInstantiate = Instantiate(mobRooms[index], new Vector3(0, heightOffset, 0), Quaternion.identity);
                numMobRoomsSpawned++;
            }
        }

        else if (prevRoomProperties.direction == RoomProperties.CORRIDOR_DIRECTION.WEST)
        {
            int index = -1;

            for (int i = 0; i < mobRooms.Count; i++)
            {
                if (mobRooms[i] != mobRooms[0])
                {
                    if ((mobRooms[i].GetComponent <RoomProperties>().direction & RoomProperties.CORRIDOR_DIRECTION.EAST) == RoomProperties.CORRIDOR_DIRECTION.EAST)
                    {
                        index = i;
                        break;
                    }
                }
            }

            if (index != -1)
            {
                toInstantiate = Instantiate(mobRooms[index], new Vector3(-widthOffset, 0, 0), Quaternion.identity);
                numMobRoomsSpawned++;
            }
        }


        //}while (numMobRoomsSpawned != numMobRoomsToSpawn);
    }