コード例 #1
0
    void Start()
    {
        enemyPool = new GameObjectPool();

        for (int i = 0; i < 20; i++)
        {
            enemyPool.AddToPool(Instantiate(enemy));
        }
    }
コード例 #2
0
        public ChunkManager(Transform parent, GameObject chunkPrefab, MarchingCube mc)
        {
            calculatedChunkQueue = new Queue <Chunk>();
            displayedChunks      = new Dictionary <Chunk, GameObject>();
            pool           = new GameObjectPool();
            toBeRemoved    = new List <Chunk>();
            this.mc        = mc;
            meshCache      = new Dictionary <Chunk, Mesh[]>();
            PP_meshCache   = new Dictionary <Chunk, Mesh>();
            meshCacheQueue = new Queue <Chunk>();

            for (int i = 0; i < poolSize; i++)
            {
                pool.AddToPool(GameObject.Instantiate(chunkPrefab, parent));
            }
        }
コード例 #3
0
    // Start is called before the first frame update
    void Start()
    {
        defaultPointerRot = pointer.rotation;
        defaultMarkerRot  = marker.rotation;

        targetPointerRot = defaultPointerRot;
        targetMarkerRot  = defaultMarkerRot;

        targetColor = disabledColor;
        //disable
        transform.localPosition = disbleLocation;
        pointerMaterial.SetColor("_EmissiveColor", disabledColor);

        //DoorPointers
        doorPointerPrefab.SetActive(false);
        doorPointerPool = new GameObjectPool();
        for (int i = 0; i < 10; i++)
        {
            doorPointerPool.AddToPool(Instantiate(doorPointerPrefab, transform));
        }
        doorPointers = new List <GameObject>();
    }
コード例 #4
0
    void Start()
    {
        //playerInventory.Clear();
        roomInfoManager.Initialize();
        roomInfoManager.GenerateLogicalNeighbors();
        roomInfoManager.GenerateLogicalNeighbors(baseRoomInfo);

        doorPool = new GameObjectPool();
        for (int i = 0; i < 50; i++)
        {
            doorPool.AddToPool(Instantiate(doorPrefab));
        }

        //TODO: Pool Rooms
        //Challenge: Different types of rooms
        roomPool = new GameObjectPool();


        //for (int i = 0; i < 5; i++) {
        //    //Heuristically refine logical connections
        //    foreach (RoomInfo roomInfo in roomInfoManager.list) {
        //        Room room = new Room(Instantiate(roomInfo.prefab), roomInfo);
        //        room.FillDoors(doorPool);
        //        for (int j = 0; j < 10; j++) {
        //            GenerateConnectedRooms(room);
        //        }

        //        foreach (Room r in rooms) {
        //            TryRemoveRoom(r, true);
        //        }
        //        TryRemoveRoom(room, true);
        //        rooms.Clear();
        //    }
        //}

        //Debug.Log(roomPassages.Count);

        InitializeBaseRoom(baseRoomInfo);
    }
コード例 #5
0
ファイル: FDGraph.cs プロジェクト: casrom/UnityPlayground
    // Start is called before the first frame update
    void Start()
    {
        m_active = false;
        transform.gameObject.SetActive(false);

        roomDoorNodes = new Dictionary <RoomDoorAnchor, Node>();
        roomNodes     = new Dictionary <RoomInfo, Node>();
        objNodeMap    = new Dictionary <GameObject, Node>();
        roomsManager  = GameObject.FindGameObjectWithTag("RoomsManager").GetComponent <RoomsManager>();

        passages = roomsManager.roomPassages;
        nodes    = new List <Node>();
        edges    = new List <Edge>();

        linePool       = new GameObjectPool();
        nodePool       = new GameObjectPool();
        doorAnchorPool = new GameObjectPool();
        edgeDisplays   = new Dictionary <RoomPassage, EdgeDisplay>();

        lineList = new List <LineRenderer>();

        for (int i = 0; i < 20; i++)
        {
            linePool.AddToPool(Instantiate(linePrefab, transform));
            nodePool.AddToPool(Instantiate(nodePrefab, transform));
            doorAnchorPool.AddToPool(Instantiate(doorAnchorPrefab, transform));
        }

        #region cube graph
        //for (int i = 0; i < 8; i++) {
        //    GameObject n = nodePool.DePool();
        //    n.transform.localPosition = new Vector3(rand.Next(-5, 5), rand.Next(-5, 5), rand.Next(-5, 5));
        //    nodes.Add(new Node(n));
        //}

        //edges.Add(new Edge {
        //    u = nodes[0],
        //    v = nodes[1]
        //});
        //edges.Add(new Edge {
        //    u = nodes[1],
        //    v = nodes[2]
        //});
        //edges.Add(new Edge {
        //    u = nodes[2],
        //    v = nodes[3]
        //});
        //edges.Add(new Edge {
        //    u = nodes[3],
        //    v = nodes[0]
        //});
        //edges.Add(new Edge {
        //    u = nodes[4],
        //    v = nodes[5]
        //});
        //edges.Add(new Edge {
        //    u = nodes[5],
        //    v = nodes[6]
        //});
        //edges.Add(new Edge {
        //    u = nodes[6],
        //    v = nodes[7]
        //});
        //edges.Add(new Edge {
        //    u = nodes[7],
        //    v = nodes[4]
        //});
        //edges.Add(new Edge {
        //    u = nodes[0],
        //    v = nodes[4]
        //});
        //edges.Add(new Edge {
        //    u = nodes[1],
        //    v = nodes[5]
        //});
        //edges.Add(new Edge {
        //    u = nodes[2],
        //    v = nodes[6]
        //});
        //edges.Add(new Edge {
        //    u = nodes[3],
        //    v = nodes[7]
        //});

        //foreach(Edge e in edges) {
        //    lineList.Add(linePool.DePool().GetComponent<LineRenderer>());
        //}

        #endregion
    }