public void CratePrefab(ref string strPrefabName, CreatePrefabEvent callBack, object custumParam = null, TaskPriority ePriority = TaskPriority.TaskPriority_Normal) { m_callback = callBack; m_ePriority = ePriority; m_strPrefabName = strPrefabName; //custumParam if (custumParam is List <string> ) { List <string> lstDepend = (List <string>)custumParam; if (lstDepend.Count > 0) { m_nLoadCount = lstDepend.Count; m_LoadIndex = 0; m_denpenArray = new AssetBundleResource[lstDepend.Count]; for (int i = 0; i < lstDepend.Count; i++) { string path = lstDepend[i]; AssetBundleResource ab = ResourceManager.Instance().GetAssetBundle(ref path, OnLoadDepende, null, ePriority); } } else { m_res = ResourceManager.Instance().GetAssetBundle(ref m_strPrefabName, LoadFinishDelegate, null, m_ePriority); } } else { m_res = ResourceManager.Instance().GetAssetBundle(ref m_strPrefabName, LoadFinishDelegate, null, m_ePriority); } }
public void Create(ref string strObjName, TaskPriority ePriority = TaskPriority.TaskPriority_Normal) { m_strObjName = strObjName; m_node = new GameObject("EffectNode"); m_node.SetActive(false); code = GetHashCode(); m_res = ResourceManager.Instance().GetAssetBundle(ref strObjName, LoadFinishDelegate, null, ePriority); }
public void CreateAudio(ref string strAudioName, Transform root, CreateAudioEvent callBack, object custumParam = null, TaskPriority ePriority = TaskPriority.TaskPriority_Normal) { if (root == null) { return; } m_root = root; m_callback = callBack; m_res = ResourceManager.Instance().GetAssetBundle(ref strAudioName, LoadFinishDelegate, custumParam, ePriority); }
void OnLoadDepende(IResource res, string strResName, object customParam) { var ab = res as AssetBundleResource; if (ab != null) { m_denpenArray[m_LoadIndex++] = ab; if (m_LoadIndex == m_nLoadCount) { m_res = ResourceManager.Instance().GetAssetBundle(ref m_strPrefabName, LoadFinishDelegate, null, m_ePriority); } } }
public void Release() { if (m_dicSprite != null) { m_dicSprite.Clear(); m_dicSprite = null; } if (m_res != null) { m_res.Release(); } m_res = null; }
public void Destroy() { if (m_node != null) { GameObject.DestroyImmediate(m_node); m_node = null; } if (m_res != null) { m_res.Release(); m_res = null; } }
void LoadFinishDelegate(IResource res, string strResName, object customParam) { m_res = res as AssetBundleResource; if (m_res != null && m_res.assetBundle != null) { Sprite[] sps = m_res.assetBundle.LoadAllAssets <Sprite>(); foreach (var item in sps) { m_dicSprite.Add(item.name, item); } } if (m_callback != null) { m_callback(this, customParam); } }
public IResource CreateResource(IResource.EResourceType eType, ResourceManagerImpl mgr, TaskPriority ePriority = TaskPriority.TaskPriority_Normal) { IResource res = null; s_ResouceIDSeed++; switch (eType) { case IResource.EResourceType.EResourceType_AssetBundle: res = new AssetBundleResource(GetMgr(eType), s_ResouceIDSeed); break; case IResource.EResourceType.EResourceType_Texture: res = new TextureResource(GetMgr(eType), s_ResouceIDSeed); break; } res.SetPriority(ePriority); return(res); }
void LoadFinishDelegate(IResource res, string strResName, object customParam) { m_res = res as AssetBundleResource; if (m_res != null && m_res.assetBundle != null) { AudioClip[] audios = m_res.assetBundle.LoadAllAssets <AudioClip>(); if (audios == null || audios.Length <= 0) { Utility.Log.Error("创建声音文件{0}失败!", strResName); return; } m_musicSource = m_root.gameObject.AddComponent <AudioSource>(); m_musicSource.clip = audios[0]; } if (m_callback != null) { m_callback(this, customParam); } }
void LoadFinishDelegate(IResource res, string strResName, object customParam) { m_res = res as AssetBundleResource; if (m_res == null) { return; } if (m_res.m_objRes != null && m_res.m_objRes is Sprite) { m_sprite = m_res.m_objRes as Sprite; if (m_callback != null) { m_callback(this, customParam); } return; } string strSpriteName = ""; int index = strResName.LastIndexOf("/"); if (index != -1) { strSpriteName = strResName.Substring(index + 1); } index = strSpriteName.LastIndexOf("."); if (index != -1) { strSpriteName = strSpriteName.Substring(0, index); } m_sprite = m_res.LoadAsset(strSpriteName, typeof(Sprite)) as Sprite; m_res.m_objRes = m_sprite; if (m_callback != null) { m_callback(this, customParam); } }
void LoadFinishDelegate(IResource res, string strResName, object customParam) { m_res = res as AssetBundleResource; if (m_res != null) { if (m_res.m_objRes == null && m_res.assetBundle != null) { Object[] objs = m_res.assetBundle.LoadAllAssets(typeof(UnityEngine.Object)); if (objs != null && objs.Length > 0) { m_res.m_objRes = objs[0]; } } } if (m_callback != null) { m_callback(this, customParam); } }
void LoadFinishDelegate(IResource res, string strResName, object customParam) { m_res = res as AssetBundleResource; if (m_res != null) { if (m_res.m_objRes == null && m_res.assetBundle != null) { Object[] objs = m_res.assetBundle.LoadAllAssets(typeof(UnityEngine.Object)); if (objs != null && objs.Length > 0) { m_res.m_objRes = objs[0]; } } if (m_effect == null && m_res.m_objRes != null) { m_effect = GameObject.Instantiate(m_res.m_objRes) as GameObject; m_effect.transform.SetParent(m_node.transform); GameObj.RefreshShader(m_effect); m_node.name = m_effect.name.Replace("(Clone)", ""); m_fDruation = CalcParticleSystemDuration(m_effect.transform); } } }
public void CrateSprite(ref string strFontName, CreateSpriteEvent callBack, object custumParam = null, TaskPriority ePriority = TaskPriority.TaskPriority_Normal) { m_callback = callBack; m_res = ResourceManager.Instance().GetAssetBundle(ref strFontName, LoadFinishDelegate, custumParam, ePriority); }