コード例 #1
0
    /// <summary>
    /// 加载各个平台的总记录的ab的 manifest信息 这是加载ab的前提
    /// </summary>
    /// <returns></returns>
    IEnumerator WWWLoadMainAssets()
    {
        VersionAssetData vad = mNameMD5Dic["Manifest"];

        string url = StringBuilder(GetPlantFormat(), "/", vad.md5);

        //只提供了测试加载,android不能通过File加载需要通过www方式
#if UNITY_IPHONE || UNITY_STANDALONE_WIN || UNITY_EDITOR
        if (!File.Exists(url))
        {
            Debug.LogError("Manifest file not exist:" + url);
        }
        else
        {
            var fs = File.OpenRead(url);

            int    fsLen  = (int)fs.Length;
            byte[] heByte = new byte[fsLen];
            //int r = fs.Read(heByte, 0, heByte.Length);
            fs.Read(heByte, 0, heByte.Length);
            string text = System.Text.Encoding.UTF8.GetString(heByte);
            mMainManifest = IAssetBundleManifest.DeSerializate(text);

            fs.Dispose();
        }
#endif
        yield return(null);

        LoadAssets("prefab/cube", (o, obj) =>
        {
            Debug.Log(" 加载资源成功!!!");
            GameObject.Instantiate(o);
        });
    }