Example #1
0
    void InitializeConnections()
    {
        if (roomInitialized)
        {
            return;
        }

        roomInitialized = true;
        gameManager.rooms.Add(this);
        Debug.LogWarning("Starting Build");
        for (int i = 0; i < nextRoomIndex.Count; i++)
        {
            Debug.LogWarning("Loop Count: " + i);
            Transform bridge = gameManager.bridgePool.SpawnFromPool(roomPos);

            bridge.eulerAngles = transform.eulerAngles + new Vector3(0, (wallAngle * nextRoomIndex[i]), 0);
            Renderer bridgeRend = bridge.GetComponentInChildren <Renderer> ();
            if (bridgeRend != null)
            {
                bridgeRend.material = MyGameManager.state.bridgeMat;
            }

            MyGameRoom newRoom = gameManager.baseRoomPool.SpawnFromPool(roomPos + roomDiff);
            nextRoom.Add(newRoom);

            newRoom.transform.RotateAround(roomPos, Vector3.up, 18 + transform.eulerAngles.y + (wallAngle * nextRoomIndex[i]));
            newRoom.Initialize(gameManager, this, gameManager.rooms.Count >= gameManager.curRoomCount);
        }
    }
Example #2
0
    void GenerateScene()
    {
        narrativeState++;
        curRoomCount = UnityEngine.Random.Range(roomNumMin, roomNumMax + 1);
        SetWorldState();
        MyGameRoom startRoom = baseRoomPool.SpawnFromPool(Vector3.zero);

        startRoom.Initialize(this);
        if (player == null)
        {
            player = Instantiate(playerPrefab, startRoom.transform.position + new Vector3(-10, 16, -30), Quaternion.identity) as Controller2;
        }
        else
        {
            player.transform.position = startRoom.transform.position + new Vector3(-10, 16, -30);
            player.transform.rotation = Quaternion.identity;
        }
    }