/// <summary> /// 异步实例化资源。 /// </summary> /// <param name="assetName">要实例化资源的名称。</param> /// <param name="instantiateAssetCallbacks">实例化资源回调函数集。</param> /// <param name="userData">用户自定义数据。</param> public void InstantiateAsset(string assetName, InstantiateAssetCallbacks instantiateAssetCallbacks, object userData) { if (instantiateAssetCallbacks == null) { throw new GameFrameworkException("Instantiate asset callbacks is invalid."); } #if UNITY_EDITOR DateTime startTime = DateTime.Now; UnityEngine.Object asset = AssetDatabase.LoadMainAssetAtPath(assetName); if (asset != null) { UnityEngine.Object instance = Instantiate(asset); if (instance != null) { if (instantiateAssetCallbacks.InstantiateAssetSuccessCallback != null) { instantiateAssetCallbacks.InstantiateAssetSuccessCallback(assetName, instance, (float)(DateTime.Now - startTime).TotalSeconds, userData); } return; } } if (instantiateAssetCallbacks.InstantiateAssetFailureCallback != null) { instantiateAssetCallbacks.InstantiateAssetFailureCallback(assetName, LoadResourceStatus.NotExist, "Can not instantiate this asset from asset database.", userData); } #endif }
/// <summary> /// 初始化界面管理器的新实例。 /// </summary> public UIManager() { m_UIGroups = new Dictionary <string, UIGroup>(); m_RecycleQueue = new LinkedList <RecycleNode>(); m_InstantiateAssetCallbacks = new InstantiateAssetCallbacks(InstantiateUIFormSuccessCallback, InstantiateUIFormFailureCallback, InstantiateUIFormUpdateCallback, InstantiateUIFormDependencyAssetCallback); m_ObjectPoolManager = null; m_ResourceManager = null; m_InstancePool = null; m_UIFormHelper = null; m_OpenUIFormSuccessEventHandler = null; m_OpenUIFormFailureEventHandler = null; m_OpenUIFormUpdateEventHandler = null; m_OpenUIFormDependencyAssetEventHandler = null; m_CloseUIFormCompleteEventHandler = null; }
/// <summary> /// 初始化实体管理器的新实例。 /// </summary> public EntityManager() { m_EntityInfos = new Dictionary <int, EntityInfo>(); m_EntityGroups = new Dictionary <string, EntityGroup>(); m_EntitiesBeingLoaded = new HashSet <int>(); m_EntitiesToReleaseOnLoad = new HashSet <int>(); m_RecycleQueue = new LinkedList <RecycleNode>(); m_InstantiateAssetCallbacks = new InstantiateAssetCallbacks(InstantiateEntitySuccessCallback, InstantiateEntityFailureCallback, InstantiateEntityUpdateCallback, InstantiateEntityDependencyAssetCallback); m_ObjectPoolManager = null; m_ResourceManager = null; m_EntityHelper = null; m_ShowEntitySuccessEventHandler = null; m_ShowEntityFailureEventHandler = null; m_ShowEntityUpdateEventHandler = null; m_ShowEntityDependencyAssetEventHandler = null; m_HideEntityCompleteEventHandler = null; }
public InstantiateAssetTask(string assetName, ResourceInfo resourceInfo, string[] dependencyAssetNames, string[] scatteredDependencyAssetNames, string resourceChildName, InstantiateAssetCallbacks instantiateAssetCallbacks, object userData) : base(assetName, resourceInfo, dependencyAssetNames, scatteredDependencyAssetNames, resourceChildName, userData) { m_InstantiateAssetCallbacks = instantiateAssetCallbacks; }
/// <summary> /// 异步实例化资源。 /// </summary> /// <param name="assetName">要实例化资源的名称。</param> /// <param name="instantiateAssetCallbacks">实例化资源回调函数集。</param> /// <param name="userData">用户自定义数据。</param> public void InstantiateAsset(string assetName, InstantiateAssetCallbacks instantiateAssetCallbacks, object userData) { m_ResourceManager.InstantiateAsset(assetName, instantiateAssetCallbacks, userData); }
/// <summary> /// 异步实例化资源。 /// </summary> /// <param name="assetName">要实例化资源的名称。</param> /// <param name="instantiateAssetCallbacks">实例化资源回调函数集。</param> public void InstantiateAsset(string assetName, InstantiateAssetCallbacks instantiateAssetCallbacks) { m_ResourceManager.InstantiateAsset(assetName, instantiateAssetCallbacks); }
/// <summary> /// 异步实例化资源。 /// </summary> /// <param name="assetName">要实例化资源的名称。</param> /// <param name="instantiateAssetCallbacks">实例化资源回调函数集。</param> public void InstantiateAsset(string assetName, InstantiateAssetCallbacks instantiateAssetCallbacks) { InstantiateAsset(assetName, instantiateAssetCallbacks, null); }