Exemple #1
0
 /// <summary>
 /// Constructs an asset loader
 /// </summary>
 /// <param name="onAssetSuccessfullyLoaded">Gets invoked when asset loading was successful</param>
 /// <param name="onAssetLoadingFailed">Gets invoked when asset loading has failed</param>
 public AssetLoader(AssetSuccessfullyLoadedDelegate <TData, TResult> onAssetSuccessfullyLoaded, AssetLoadingFailedDelegate <TResult> onAssetLoadingFailed)
 {
     this.onAssetSuccessfullyLoaded = onAssetSuccessfullyLoaded ?? throw new ArgumentNullException(nameof(onAssetSuccessfullyLoaded));
     this.onAssetLoadingFailed      = onAssetLoadingFailed ?? throw new ArgumentNullException(nameof(onAssetLoadingFailed));
     OnAssetSuccessfullyLoaded     += onAssetSuccessfullyLoaded;
     OnAssetLoadingFailed          += onAssetLoadingFailed;
 }
Exemple #2
0
        /// <summary>
        /// Adds a new asset loader
        /// </summary>
        /// <typeparam name="TData">Data type</typeparam>
        /// <typeparam name="TResult">Result type</typeparam>
        /// <param name="onAssetSuccessfullyLoaded">Gets invoked when asset loading was successful</param>
        /// <param name="onAssetLoadingFailed">Gets invoked when asset loading has failed</param>
        /// <returns>Asset loader</returns>
        public IAssetLoader <TData, TResult> AddAssetLoader <TData, TResult>(AssetSuccessfullyLoadedDelegate <TData, TResult> onAssetSuccessfullyLoaded, AssetLoadingFailedDelegate <TResult> onAssetLoadingFailed)
        {
            IAssetLoader <TData, TResult> ret = new AssetLoader <TData, TResult>(onAssetSuccessfullyLoaded ?? throw new ArgumentNullException(nameof(onAssetSuccessfullyLoaded)), onAssetLoadingFailed ?? throw new ArgumentNullException(nameof(onAssetLoadingFailed)));
            string key = GetAssetLoaderKey <TData, TResult>();

            if (assetLoaders.ContainsKey(key))
            {
                assetLoaders[key] = ret;
            }
            else
            {
                assetLoaders.Add(key, ret);
            }
            return(ret);
        }