public void Update()
        {
            for (int i = m_LoadingAssetBundles.Count - 1; i >= 0; --i)
            {
                IAssetBundle assetBundle = m_LoadingAssetBundles[i];

                if (!m_CreatedAssetBundles.ContainsKey(assetBundle.Name)) // unloaded
                {
                    m_LoadingAssetBundles.RemoveAt(i);
                }
                else if (assetBundle.UpdateLoadingState())
                {
                    LogMessage("AssetBundle: ", assetBundle.Name, " is loaded.");
                    m_LoadingAssetBundles.RemoveAt(i);
                }
            }

            for (int i = m_LoadingAssets.Count - 1; i >= 0; --i)
            {
                AsyncAsset asset = m_LoadingAssets[i];

                if (!m_CreatedAssets.ContainsKey(asset.AssetName)) // unloaded
                {
                    m_LoadingAssets.RemoveAt(i);
                }
                else if (asset.UpdateLoadingState())
                {
                    LogMessage("Asset: ", asset.AssetName, " is loaded.");
                    m_LoadingAssets.RemoveAt(i);
                }
            }
        }