Beispiel #1
0
 public static GameObjectContainer Process(AssetTrackMgr assetTrackMgr, GameObjectContainer container, string path, GameObject prefab, int disposeTime, int capcity)
 {
     container.assetTrackMgr = assetTrackMgr;
     container.path          = path;
     container.prefab        = prefab;
     container.DisposeTime   = disposeTime;
     container.Capcaity      = capcity;
     return(container);
 }
Beispiel #2
0
 public static void Dispose(GameObjectContainer container)
 {
     container.Release();
     container.path          = null;
     container.prefab        = null;
     container.assetTrackMgr = null;
     container.refCount      = 0;
     container.Capcaity      = AssetTrackMgr.CAPCITY_SIZE;
     container.DisposeTime   = AssetTrackMgr.DISPOSE_TIME_VALUE;
 }
        public void DiscardGameObject(string path, GameObject gameObject)
        {
            GameObjectContainer container = null;

            if (gameObjectContainerMap.TryGetValue(path, out container))
            {
                container.Discard(gameObject);
            }
            else
            {
                Debug.LogError("AssetTrackMgr gameobject is not created by container pool,just destory it! " + path);
                GameObject.Destroy(gameObject);
            }
        }
Beispiel #4
0
 public void ReleaseGameObjectContainer(GameObjectContainer container)
 {
     gameobjectContainerPool.Release(container);
 }
Beispiel #5
0
        public GameObjectContainer GetGameObjectContainer(AssetTrackMgr assetTrackMgr, string path, GameObject prefab, int disposeTime, int capcity)
        {
            var container = gameobjectContainerPool.Get();

            return(GameObjectContainer.Process(assetTrackMgr, container, path, prefab, disposeTime, capcity));
        }