Example #1
0
 public void createRoom(int x, int z, int numDoors, RoomGeneratorScript roomGen)
 {
     setSize(x, z);
     genreateRoom(roomGen, numDoors);
     createRoomTrigger();
     setUpDoors();
 }
Example #2
0
 private void CreateLevel()
 {
     ClearDungeon();
     CustomRooms.ResetCounts();
     LevelContainer = new GameObject();
     LevelContainer.transform.position = new Vector3(0.0f, 0.0f, 0.0f);
     finishPlaced = false;
     Random.seed = Random.seed + 3775 * 3;
     numberOfRooms = numberOfRooms + 5;
     roomGen = this.GetComponent<RoomGeneratorScript>();
     prebuildFirstRoom();
     if (firstLevel)
     {
         genreateMap(numberOfRooms);
         RoomTraversal.PopulateKeys(first);
     }
     else
     {
         Triggerable[] finalRoomListener = new Triggerable[1];
         finalRoomListener[0] = this.gameObject.GetComponent<LevelChangeTriggerable>();
         first.transform.FindChild("FinishRoom").transform.Find("LevelChangeTrigger").GetComponent<CollisionTriggerer>().listeners = finalRoomListener;
     }
     RoomVisualizerScript.weightDungeon(first.GetComponent<Room>());
     RoomVisualizerScript.visualizeRooms(first.GetComponent<Room>());
     if (first.GetComponent<Room>().useStartVector)
     {
         player.transform.position = first.GetComponent<Room>().startVector;
     }
     else
     {
         player.transform.position = first.transform.position + new Vector3(0.0f, 0.5f, 0.0f);
     }
 }
Example #3
0
    private void genreateRoom(RoomGeneratorScript roomGen, int numDoors)
    {
        bool[] exits = new bool[4];
        if (endRoom)
        {
            exits[0] = true;
        }
        else
        {
            int exitAmount = numDoors;
            for (int i = 0; i < exitAmount; i++)
            {
                exits[i] = true;
            }
        }
        GameObject newRoom = roomGen.getRectRoom(sizeX, sizeZ, exits[3], exits[0], exits[1], exits[2]);
        newRoom.transform.position = new Vector3(-(sizeX / 2), 0.0f, -(sizeZ/2));

        if (exits[0])
        {
            GameObject newDoor = Instantiate(baseDoor, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity) as GameObject;
            Door northDoor = newDoor.GetComponent<Door>();
            newDoor.transform.position = new Vector3(1.0f, 0.0f, 0.0f) * (sizeX);
            northDoor.setRoom(this);
            northDoor.setExitDirection(northDoor.transform.position - this.transform.position);
            northDoor.sizeOfWall = sizeX;
            newDoor.transform.parent = this.transform;
            addDoor(northDoor);
        }
        if (exits[1])
        {
            GameObject newDoor = Instantiate(baseDoor, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity) as GameObject;
            Door eastDoor = newDoor.GetComponent<Door>();
            newDoor.transform.position = new Vector3(0.0f, 0.0f, 1.0f) * (sizeZ);
            eastDoor.setRoom(this);
            eastDoor.setExitDirection(eastDoor.transform.position - this.transform.position);
            eastDoor.sizeOfWall = sizeZ;
            newDoor.transform.parent = this.transform;
            addDoor(eastDoor);
        }
        if (exits[2])
        {
            GameObject newDoor = Instantiate(baseDoor, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity) as GameObject;
            Door southDoor = newDoor.GetComponent<Door>();
            newDoor.transform.position = new Vector3(-1.0f, 0.0f, 0.0f) * (sizeX);
            southDoor.setRoom(this);
            southDoor.setExitDirection(southDoor.transform.position - this.transform.position);
            southDoor.sizeOfWall = sizeX;
            newDoor.transform.parent = this.transform;
            addDoor(southDoor);
        }
        if (exits[3])
        {
            GameObject newDoor = Instantiate(baseDoor, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity) as GameObject;
            Door westDoor = newDoor.GetComponent<Door>();
            newDoor.transform.position = new Vector3(0.0f, 0.0f, -1.0f) * (sizeZ);
            westDoor.setRoom(this);
            westDoor.setExitDirection(westDoor.transform.position - this.transform.position);
            westDoor.sizeOfWall = sizeZ;
            newDoor.transform.parent = this.transform;
            addDoor(westDoor);
        }
        newRoom.transform.parent = this.transform;
    }
Example #4
0
 public void SpawnRoom(RoomGeneratorScript roomGen)
 {
     GameObject newRoom = roomGen.getRectRoom(roomSize, roomSize, exits[3], exits[0], exits[1], exits[2]);
        Vector3 fixedPosition = new Vector3(this.transform.position.x - (int)(roomSize / 2), this.transform.position.y, this.transform.position.z - (int)(roomSize / 2));
        newRoom.transform.position = fixedPosition;
        newRoom.transform.parent = this.transform;
 }
Example #5
0
    // Start is called before the first frame update
    void Start()
    {
        levelData = new LevelData(LEVEL_WIDTH * LEVEL_LENGTH);

        /*int[] paletteValues ={0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
         *                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};*/
        /*int[] paletteValues =   { 0, 0, 0, 0, 0, 0, 0, 0,
         *                          0, 0, 0, 0, 0, 0, 0, 0,
         *                          0, 0, 0, 0, 0, 0, 0, 0,
         *                          0, 0, 0, 0, 0, 0, 0, 0,
         *                          0, 0, 0, 0, 0, 0, 0, 0,
         *                          0, 0, 0, 0, 0, 0, 0, 0,
         *                          0, 0, 0, 0, 0, 0, 0, 0,
         *                          0, 0, 0, 0, 0, 0, 0, 0,};*/

        /*int[] paletteValues =     { 0, 2, 0, 0, 0, 2, 0, 0,
         *                          0, 2, 0, 0, 0, 2, 0, 0,
         *                          0, 2, 0, 0, 0, 2, 0, 0,
         *                          1,11, 1, 1, 1,11, 1, 1,
         *                          0, 2, 0, 0, 0, 2, 0, 0,
         *                          0, 2, 0, 0, 0, 2, 0, 0,
         *                          1,11, 1, 1, 1,11, 1, 1,
         *                          0, 2, 0, 0, 0, 2, 0, 0,};*/
        /*int[] paletteValues =  {0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0,
         *                      0, 2, 0, 0, 0, 0, 0, 0,11,11, 1, 1,11, 1,11, 1,
         *                      0, 2, 0, 0, 0,11, 1, 1,11,11, 0, 0, 2, 0, 2, 0,
         *                      0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 2, 0, 2, 0,
         *                      0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0,11, 0, 2, 0,
         *                     11,11, 1, 1, 1,11, 0, 0, 0, 2, 0, 0, 0, 0,11, 1,
         *                      2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
         *                      2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
         *                      2, 0, 0, 0, 0, 2, 0, 0, 0,11, 1, 1,11, 0, 0, 0,
         *                      2, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0,11, 1,11, 0,
         *                     11, 1, 1, 1, 1,11, 1, 1,11,11, 0, 0, 2, 0, 2, 0,
         *                      2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 2, 0,
         *                      2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 2, 0,
         *                     11, 0, 0, 0,11, 0, 0, 0,11, 1, 1, 1,11, 1,11, 1,
         *                      2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0,
         *                     11, 1, 1, 1,11, 1, 1, 1,11, 0, 0, 0, 2, 0, 0, 0,};*/
        int[] paletteValues = { 11, 1, 1,  1, 11,  0,  2,  0, 0,  2,  0, 0, 0,  0, 0,  2,
                                2,  0, 0,  0,  2,  0, 11,  1, 1, 11,  0, 0, 0,  0, 0,  2,
                                2,  0, 0,  0,  2,  0,  0,  0, 0, 11,  1, 1, 1, 11, 0,  2,
                                2,  0, 0,  0,  2,  0,  0,  0, 0,  0,  0, 0, 0,  2, 0,  2,
                                11, 1, 1,  1, 11,  0,  0,  0, 0,  0,  0, 0, 0,  2, 0,  2,
                                2,  0, 0,  0,  0,  0,  0, 11, 1,  1, 11, 1, 1, 11, 0,  2,
                                2,  0, 0,  0,  0,  0,  0,  2, 0,  0,  2, 0, 0,  0, 0,  2,
                                11, 1, 1, 11,  0,  0,  0,  2, 0,  0,  2, 0, 0,  0, 0,  2,
                                0,  0, 0,  2,  0,  0,  0, 11, 0,  0, 11, 1, 1,  1, 1, 11,
                                0,  0, 0, 11,  1, 11,  0,  2, 0,  0,  0, 0, 0,  0, 0,  0,
                                0,  0, 0,  0,  0,  2,  0, 11, 1,  1,  1, 1, 1, 11, 0, 11,
                                0,  0, 0,  0,  0,  2,  0,  0, 0,  0,  0, 0, 0,  2, 0,  2,
                                0,  0, 0,  0,  0, 11, 11,  0, 0,  0,  0, 0, 0,  2, 0,  2,
                                0,  0, 0,  0,  0,  0,  2,  0, 0, 11,  1, 1, 1, 11, 0,  2,
                                0,  0, 0,  0,  0,  0,  2,  0, 0,  2,  0, 0, 0,  0, 0,  2,
                                1,  1, 1,  1, 11,  0,  2,  0, 0,  2,  0, 0, 0,  0, 0, 2 };
        PaletteMakerScript mkr = new PaletteMakerScript();

        mkr.generateJSON(paletteValues, 16, 16, true, "bigPalette8");
        WFCScript wfc = new WFCScript(LEVEL_WIDTH, LEVEL_LENGTH, "D:/dev/orthocubes/gamedata/bigPalette8.json");

        wfc.generateWithResets(1);
        buildLevel();
        RoomGeneratorScript roomGen  = new RoomGeneratorScript(grid);
        List <Room>         roomList = roomGen.findRooms();

        foreach (Room room in roomList)
        {
            //Debug.Log(room.toString());
        }


        player = new Entity(new Coordinate(0, 0, 0), GameObject.Find("Player"));
        //debugBuildWall(4);
    }