Esempio n. 1
0
        /// <summary>
        /// 保存预制体
        /// </summary>
        /// <param name="name"></param>
        /// <param name="obj"></param>
        private static void AddPrefab(string name, GameObject obj, InitPrefab initPrefab)
        {
            obj.SetActive(false);
            Prefab _prefab = new Prefab();

            _prefab.prefab     = obj;
            _prefab.InitPrefab = initPrefab;
            initPrefab(obj);
            prefabs.Add(name, _prefab);
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="name">名字</param>
        /// <param name="prefab">预制体</param>
        /// <param name="initPrefab">预制体初始化</param>
        public static void AddNewObjectPool(string name, GameObject prefab, InitPrefab initPrefab)
        {
            if (prefabs.ContainsKey(name))
            {
                return;
            }
            IRecycleObject recycleObject = prefab.GetComponent <IRecycleObject>();

            if (recycleObject == null)
            {
                return;
            }

            AddPrefab(name, prefab, initPrefab);
            List <IRecycleObject> pool = new List <IRecycleObject>();

            pool.Add(recycleObject);
            pools.Add(name, pool);
        }