private void LoadEntitySuccessCallback(string entityAssetName, object entityAsset, float duration, object userData) { //获取记载实体的信息 LoadEntityInfo loadEntityInfo = (LoadEntityInfo)userData; if (loadEntityInfo == null) { Debug.LogError("加载实体的信息为空"); return; } m_EntitiesBeingLoaded.Remove(loadEntityInfo.EntityId); if (m_EntitiesToReleaseOnLoad.Contains(loadEntityInfo.SerialId)) { Debug.LogError(string.Format("需要释放的实体:{0}(id:{1})加载成功", loadEntityInfo.EntityId.ToString(), loadEntityInfo.SerialId.ToString())); m_EntitiesToReleaseOnLoad.Remove(loadEntityInfo.SerialId); m_EntityHelper.ReleaseEntity(entityAsset, null); return; } //实例化实体,并将实体实例对象放入对象池 EntityInstanceObject entityInstanceObject = new EntityInstanceObject(entityAssetName, entityAsset, m_EntityHelper.InstantiateEntity(entityAsset), m_EntityHelper); loadEntityInfo.EntityGroup.RegisterEntityInstanceObject(entityInstanceObject, true); //显示实体 ShowEntity(loadEntityInfo.EntityId, entityAssetName, loadEntityInfo.EntityGroup, entityInstanceObject.Target, true, duration, loadEntityInfo.UserData); }
private void LoadEntityDependencyAssetCallback(string entityAssetName, string dependencyAssetName, int loadedCount, int totalCount, object userData) { LoadEntityInfo loadEntityInfo = (LoadEntityInfo)userData; if (loadEntityInfo == null) { Debug.LogError("加载实体的信息为空"); return; } //派发显示实体时加载依赖资源事件 ShowEntityDependencyAssetEventArgs e = ReferencePool.Acquire <ShowEntityDependencyAssetEventArgs>(); m_EventManager.Fire(this, e.Fill(loadEntityInfo.UserData, loadEntityInfo.EntityId, entityAssetName, loadEntityInfo.EntityGroup.Name, dependencyAssetName, loadedCount, totalCount)); }
private void LoadEntityUpdateCallback(string entityAssetName, float progress, object userData) { LoadEntityInfo loadEntityInfo = (LoadEntityInfo)userData; if (loadEntityInfo == null) { Debug.LogError("加载实体的信息为空"); return; } //派发显示实体更新事件 ShowEntityUpdateEventArgs e = ReferencePool.Acquire <ShowEntityUpdateEventArgs>(); m_EventManager.Fire(this, e.Fill(loadEntityInfo.UserData, loadEntityInfo.EntityId, entityAssetName, loadEntityInfo.EntityGroup.Name, progress)); }
private void LoadEntityFailureCallback(string entityAssetName, LoadResourceStatus status, string errorMessage, object userData) { LoadEntityInfo loadEntityInfo = (LoadEntityInfo)userData; if (loadEntityInfo == null) { Debug.LogError("加载实体的信息为空"); return; } m_EntitiesBeingLoaded.Remove(loadEntityInfo.EntityId); m_EntitiesToReleaseOnLoad.Remove(loadEntityInfo.SerialId); string message = string.Format("加载实体:{0} 失败,错误信息:{1}", entityAssetName, errorMessage); //派发显示实体失败事件 ShowEntityFailureEventArgs e = ReferencePool.Acquire <ShowEntityFailureEventArgs>(); m_EventManager.Fire(this, e.Fill(loadEntityInfo.UserData, loadEntityInfo.EntityId, entityAssetName, loadEntityInfo.EntityGroup.Name, message)); }