using AssetStoreTools.Api; using AssetStoreTools.Uploader.Services.Analytics; using AssetStoreTools.Uploader.Services.Api; using AssetStoreTools.Utility; namespace AssetStoreTools.Uploader.Services { internal class UploaderServiceProvider : ServiceProvider { public static UploaderServiceProvider Instance => _instance ?? (_instance = new UploaderServiceProvider()); private static UploaderServiceProvider _instance; private UploaderServiceProvider() { } protected override void RegisterServices() { var api = new AssetStoreApi(new AssetStoreClient()); Register(); Register(); Register(() => new AuthenticationService(api, GetService(), GetService())); Register(() => new PackageDownloadingService(api, GetService())); Register(() => new PackageUploadingService(api)); Register(); } } }