Ejemplo n.º 1
0
        /// <summary>
        /// 实例化2
        /// appendedAssets:指定额外的特殊依赖项
        /// </summary>
        public void Instantiate(string strAssetPath, Vector3 position, Quaternion rotation, InitiateHandler handlerFinish, string[] appendedAssets = null)
        {
            //string strLatesVersionpath = _objPathData.getLatestVersionPath(strPath);

            Utils.LogSys.Log("AssetManager Get Path Data 5:" + strAssetPath);
            EAssetPathType eType = _objPathData.getAssetPathType(strAssetPath);

            if (eType == EAssetPathType.eResources)//异步创建Resource下资源
            {
                AssetLoadTask task = new AssetLoadTask(strAssetPath, appendedAssets);
                task.EventFinished += new task.TaskBase.FinishedHandler(delegate(bool manual, TaskBase currentTask)
                {
                    Object assetObj = ((AssetLoadTask)currentTask).getTargetAsset();
                    if (assetObj != null)
                    {
                        GameObject obj = GameObject.Instantiate(assetObj, position, rotation) as GameObject;
                        ((AssetLoadTask)currentTask).unloadUnusedAssetbundle(false);

                        handlerFinish(obj);
                    }
                });
            }
            else
            {
                //异步创建StreamingAssets下资源
                AssetBundleLoadTask task = new AssetBundleLoadTask(strAssetPath, appendedAssets);
                task.EventFinished += new task.TaskBase.FinishedHandler(delegate(bool manual, TaskBase currentTask)
                {
                    Object assetObj = ((AssetBundleLoadTask)currentTask).getTargetAsset();
                    if (assetObj != null)
                    {
                        GameObject obj = GameObject.Instantiate(assetObj, position, rotation) as GameObject;
                        ((AssetBundleLoadTask)currentTask).unloadUnusedAssetbundle(false);

                        handlerFinish(obj);
                    }
                });
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 实例化1
 /// appendedAssets:指定额外的特殊依赖项
 /// </summary>
 public void Instantiate(string strAssetPath, InitiateHandler handlerFinish, string[] appendedAssets = null)
 {
     Instantiate(strAssetPath, Vector3.zero, Quaternion.identity, handlerFinish, appendedAssets);
 }