//-------------------------------------------------------------------------
    public void _asyncLoadAsset(_eAsyncAssetLoadType async_assetloadtype,
                                string asset_path, string asset_name,
                                Action <UnityEngine.Object> loaded_action, AsyncAssetLoadGroup group)
    {
        IAsyncAssetLoader asynce_assetloader = null;

        mMapIAsyncAssetLoader.TryGetValue(asset_path, out asynce_assetloader);
        if (asynce_assetloader == null)
        {
            switch (async_assetloadtype)
            {
            case _eAsyncAssetLoadType.WWW:
                asynce_assetloader = new WWWAsyncAssetLoader(this);
                break;

            case _eAsyncAssetLoadType.LoacalAB:
                asynce_assetloader = new LocalABAsyncAssetLoader(this);
                break;

            default:
                break;
            }
        }

        asynce_assetloader.createAssetLoad(asset_path, asset_name, group, loaded_action);

        mMapIAsyncAssetLoader[asset_path] = asynce_assetloader;
    }
        public ModAssetRepository(AssetReaderCollection assetReaderCollection, IAssetLoader syncLoader, IAsyncAssetLoader asyncLoader, IEnumerable <IContentSource> sources = null) : base(syncLoader, asyncLoader)
        {
            AssetReaderCollection = assetReaderCollection;

            if (sources != null)
            {
                SetSources(sources, AssetRequestMode.DoNotLoad);
            }
        }