Ejemplo n.º 1
0
    // 加载mesh动画文件
    //Modify by Aoicocoon 2017/12/06
    //修改打包士兵数据+动画文件
    public override void LoadSoldierAnim(string meshName, string animName, bool IsCache, AssetLoadHook pfun)
    {
        if (null == pfun)
        {
            return;
        }

        string folder = ResourcesPath.GetRelativePath(ResourcesType.ActorSoldierMesh, ResourcesPathMode.AssetBundle);
        string key    = GetKey(folder, meshName + "/" + animName.ToLower());
        string path   = key + ConstantData.ABEXT;

        Object obj = FindAssetObj(key);

        if (null != obj)
        {
            pfun.Invoke(obj);
        }
        else
        {
            ABLoad.LoadAB(path, true,
                          (ab) =>
            {
                LoadQueue.AddLoadTask(path, animName, typeof(Texture2D), IsCache, IsCache, false, pfun);
            });
        }
    }
Ejemplo n.º 2
0
    // 加载asset接口
    private void LoadObj(string ResType,
                         string ABName,
                         string ObjName,
                         Type type,
                         bool IsCacheAsset,
                         bool IsCacheAB,
                         bool IsFreeUnUseABRes,
                         bool async,
                         AssetLoadHook pfun)
    {
        string RelativePath = ABLoad.GetRelativePath(ResType, ABName);
        string key          = GetKey(RelativePath, ObjName);

        UnityEngine.Object obj = FindAssetObj(key);
        if (obj != null)
        {
            if (pfun != null)
            {
                pfun(obj);
            }
        }
        else
        {
            if (async == false)
            {
                ABLoad.LoadAB(RelativePath, IsCacheAB,
                              (ab) => {
                    Object g = LoadObjByAb(ab, ObjName, type, IsCacheAB, IsFreeUnUseABRes);
                    LoadAssetCallBack(g, key, IsCacheAsset, pfun);
                });
            }
            else
            {
                // 异步加载队列
                LoadQueue.AddLoadTask(RelativePath, ObjName, type, IsCacheAsset, IsCacheAB, IsFreeUnUseABRes, pfun);
            }
        }
    }