Пример #1
0
        /// <summary>
        /// 在池子里销毁
        /// </summary>
        public virtual void OnDestroyInPool()
        {
            if (PooledState == EPooledState.InPool)
            {
                PooledState = EPooledState.Invalid;

                UnLoad();
            }
            else
            {
                Logger.Error("AssetObj不在池子中,无法销毁");
            }
        }
Пример #2
0
        /// <summary>
        /// 对象放回池子时,调用
        /// </summary>
        public virtual void OnReleaseToPool()
        {
            if (PooledState == EPooledState.OutPool)
            {
                PooledState = EPooledState.InPool;

                // 放进池子里,外部不再使用,则所有加载完成回调需要清空
                m_listOnLoadFinished.Clear();
            }
            else if (PooledState == EPooledState.InPool)
            {
                Logger.Error("AssetObj已经回收到池子里,不能再次回收");
            }
            else
            {
                Logger.Error("AssetObj不是从池子里创建的,不能回收到池子里");
            }
        }
Пример #3
0
 /// <summary>
 /// 对象从池子里取出时,调用
 /// </summary>
 public virtual void OnGetFromPool()
 {
     PooledState = EPooledState.OutPool;
 }