예제 #1
0
    void Start()
    {
        pixelsPool = GetComponent <PixelsPool>();
        DontDestroyOnLoad(this);

        containerObject = new GameObject("ObjectPool");
        Scene           = new GameObject("Scene");

        pixelsPool.Init(containerObject.transform, Scene.transform);

        DontDestroyOnLoad(containerObject);
        DontDestroyOnLoad(Scene);

        pool = new Dictionary <string, List <SceneObject> >();

        foreach (ObjectPoolEntry poe in Entries)
        {
            for (int a = 0; a < poe.Count; a++)
            {
                if (pool.ContainsKey(poe.Prefab.name) == false)
                {
                    pool.Add(poe.Prefab.name, new List <SceneObject>());
                }
                SceneObject so = CreateSceneObject(poe.Prefab);
                pool[so.name].Add(so);
            }
        }
    }
예제 #2
0
    void Start()
    {
        pixelsPool                    = GetComponent <PixelsPool> ();
        pooledObjects                 = new List <SceneObject> ();
        pooledObjects_smallBlock      = new List <SceneObject> ();
        pooledObjects_extraSmallBlock = new List <SceneObject> ();

        DontDestroyOnLoad(this);

        containerObject = new GameObject("ObjectPool");
        Scene           = new GameObject("Scene");

        pixelsPool.Init(containerObject.transform, Scene.transform);

        DontDestroyOnLoad(containerObject);
        DontDestroyOnLoad(Scene);

//		foreach (ObjectPoolEntry poe in Entries) {
//			for (int a=0; a<poe.Count; a++) {
//				pooledObjects.Add (poe.Prefab);
//			}
//		}


        int id = 0;

        for (int i = 0; i < Entries.Length; i++)
        {
            var objectPrefab = Entries[i];
            //create the repository


            for (int n = 0; n < objectPrefab.Count; n++)
            {
                SceneObject newObj = CreateSceneObject(objectPrefab.Prefab);
                newObj.gameObject.SetActive(false);
//                SceneObject newObj = Instantiate(objectPrefab.Prefab) as SceneObject;
//				pooledObjects.Add (newObj);
//                newObj.name = objectPrefab.Prefab.name;
                PoolObject(newObj);
                newObj.id = id;
                id++;
            }
        }
        Restart();
    }