/// <summary> /// 在池子里销毁 /// </summary> public virtual void OnDestroyInPool() { if (PooledState == EPooledState.InPool) { PooledState = EPooledState.Invalid; UnLoad(); } else { Logger.Error("AssetObj不在池子中,无法销毁"); } }
/// <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不是从池子里创建的,不能回收到池子里"); } }
/// <summary> /// 对象从池子里取出时,调用 /// </summary> public virtual void OnGetFromPool() { PooledState = EPooledState.OutPool; }