private bool InitializeInternal(string providerId, VirtualAssetBundleRuntimeData data)
 {
     m_ProviderId = providerId;
     m_BundleData = data;
     foreach (var b in m_BundleData.AssetBundles)
     {
         m_AllBundles.Add(b.Name, b);
     }
     return(!string.IsNullOrEmpty(m_ProviderId));
 }
        /// <summary>
        /// Initilization data is passed when when constructed from serialized data
        /// </summary>
        /// <param name="id">The provider id</param>
        /// <param name="data">The data string, this is assumed to be the virtual bundle data path</param>
        /// <returns>true if the data is as expected</returns>
        public override bool Initialize(string id, string data)
        {
            VirtualAssetBundleRuntimeData bundleData = JsonUtility.FromJson <VirtualAssetBundleRuntimeData>(data);

            return(InitializeInternal(id, bundleData));
        }
 /// <summary>
 /// Construct a new VirtualAssetBundleProvider object;
 /// <param name="data">Contains information on virtual bundle layout</param>
 /// </summary>
 public VirtualAssetBundleProvider(VirtualAssetBundleRuntimeData data)
 {
     InitializeInternal(typeof(AssetBundleProvider).FullName, data);
 }