Esempio n. 1
0
    /*~~~~~~ public functions ~~~~~~*/



    /*~~~~~~ private functions ~~~~~~*/

    private void enterRoom(int nextRoomIndex, float pipeStartPosition)
    {
        //Set current node to previous node
        prevNode = currentNode;
        //Set current node to next node
        currentNode = currentNode.roomAdj [nextRoomIndex];
        //Set isColored
        currentNode.isColored = true;
        //Update roomStartPos
        float pipeLength = roomObjectPools["pipeWhole"].Peek().renderer.bounds.size.x;

        roomStartPosX = pipeStartPosition + pipeLength;
        //Instantiate objects for new room
        placeNewRoomObjects(currentNode.roomAdj);
        //Alert subscribers that you have changed the room
        onRoomChange(currentNode.roomTile);
    }
Esempio n. 2
0
    private roomNode[] generateRoomNodes()
    {
        //Create 8 room nodes
        int numRooms = 8;

        roomNode[] roomNodes = new roomNode[numRooms];
        //Create temporary taken array
        for (int i = 0; i < numRooms; i++)
        {
            //Create the room node object
            roomNodes[i] = new roomNode();
            //Assign each room node a different color
            switch (i)
            {
            case 0: roomNodes[i].roomTile = "pinkRoom";
                break;

            case 1: roomNodes[i].roomTile = "purpleRoom";
                break;

            case 2: roomNodes[i].roomTile = "greenRoom";
                break;

            case 3: roomNodes[i].roomTile = "blueRoom";
                break;

            case 4: roomNodes[i].roomTile = "redRoom";
                break;

            case 5: roomNodes[i].roomTile = "blackRoom";
                break;

            case 6: roomNodes[i].roomTile = "orangeRoom";
                break;

            case 7: roomNodes[i].roomTile = "yellowRoom";
                break;
            }
            // Assign each room a size
            roomNodes[i].roomSize = Random.Range(minRoomSize, maxRoomSize);
        }

        return(roomNodes);
    }
Esempio n. 3
0
    /*~~~~~~ unity functions ~~~~~~*/

    // Use this for initialization
    void Start()
    {
        //Initialize levelEnd Node
        levelEnd          = new roomNode();
        levelEnd.roomTile = "endRoom";
        levelEnd.roomSize = 100;

        //Create pools of room objects
        createRoomObjectPools();

        //generate room nodes that make up the level
        currentNode = createRooms();

        //Initialize variables to start rendering/instantiating rooms
        roomStartPosX = 0;         //Will make first room slightly too large
        //Initialize previous node to an empty node
        prevNode = new roomNode();
        //Set first room to isColored
        currentNode.isColored = true;
        //Place all objects for the first room
        placeNewRoomObjects(currentNode.roomAdj);
        //Alert level tiler of roomTile
        onRoomChange(currentNode.roomTile);
    }