Ejemplo n.º 1
0
 private void LoadFX(List <String> fxs, Action callback, Action <int> process = null)
 {
     //Debug.LogError("preload avater fx: " + fxs.PackList('\n'));
     AssetCacheMgr.GetResourcesAutoRelease(fxs.ToArray(), (fxsObj) =>
     {
         foreach (var item in fxs)
         {
             SfxHandler.AddloadedFX(item);
         }
         //foreach (var item in fxsObj)
         //{
         //    var go = GameObject.Instantiate(item);
         //    GameObject.Destroy(go);
         //}
         //sw.Stop();
         //Debug.LogInfo("preload fx time: " + sw.ElapsedMilliseconds);
         if (callback != null)
         {
             callback();
         }
     }, (progress) =>
     {
         if (process != null)
         {
             process((int)(10 * progress + 80));
         }
     });
 }
Ejemplo n.º 2
0
 public static void GetCharacterResourcesAutoRelease(string[] resourcesName, Action <Object[]> loaded, Action <float> progress = null)
 {
     foreach (var item in resourcesName)
     {
         m_loadedCharacterResources.Add(item);
     }
     AssetCacheMgr.GetResourcesAutoRelease(resourcesName, loaded, progress);
 }
Ejemplo n.º 3
0
    public void Preload(List <int> cgIDs, Action callback = null)
    {
        m_preloadStatus.Clear();
        foreach (var cgID in cgIDs)
        {
            if (m_mapOfStoryMap.ContainsKey(cgID))
            {
                foreach (var command in m_mapOfStoryMap[cgID])
                {
                    String[] commands = Regex.Split(command.Value.Trim(), @"[ ]+");
                    if (commands[0].Equals("CreateModel"))
                    {
                        AvatarModelData data = AvatarModelData.dataMap.GetValueOrDefault(Int32.Parse(commands[2]), null);
                        if (data == null)
                        {
                            LoggerHelper.Error("Model not found: " + Int32.Parse(commands[2]));
                            return;
                        }
                        m_preloadStatus.Add(data.prefabName);
                    }
                }
            }
        }

        if (m_preloadStatus.Count > 0)
        {
            var ms = m_preloadStatus.ToArray();
            AssetCacheMgr.GetResourcesAutoRelease(ms, (obj) =>
            {
                //AssetCacheMgr.UnloadAssetbundles(ms);
                if (callback != null)
                {
                    callback();
                }
            });
        }
        else
        {
            if (callback != null)
            {
                callback();
            }
        }
    }