public static void SetUser(UnityUser user, IUpdateDelegate updater, IProjectProvider client, PlayerStorage storage) // TODO Rename or move into a ProjectLister manager class { // ProjectLister s_ProjectListerSettings = new ProjectListerSettings(); s_ProjectListerSettings.OnProjectsRefreshCompleted = new ProjectListerSettings.ProjectsEvents(); s_ProjectListerSettings.OnProjectsRefreshStarted = new UnityEvent(); s_ProjectListerSettings.OnProjectsRefreshCompleted.AddListener((projects) => { projectsRefreshCompleted?.Invoke(projects); }); s_ProjectLister = new ProjectsLister(s_ProjectListerSettings) { client = client }; s_ProjectLister.SetUpdateDelegate(updater); s_ProjectDeleterSettings = new ProjectDeleterSettings(); s_ProjectDeleterSettings.projectLocalDataDeleted += OnProjectLocalDataDeleted; s_ProjectDeleterSettings.projectDeleteCanceled += OnProjectDeleteCanceled; s_ProjectDeleterSettings.projectDeleteProgressChanged += OnProjectDeleteProgressChanged; s_ProjectDeleter = new ProjectDeleter(s_ProjectDeleterSettings, storage) { client = client }; s_ProjectDeleter.SetUpdateDelegate(updater); s_ProjectDownloaderSettings = new ProjectDownloaderSettings(); s_ProjectDownloaderSettings.projectDataDownloaded += OnProjectDataDownloaded; s_ProjectDownloaderSettings.projectDownloadCanceled += OnProjectDownloadCanceled; s_ProjectDownloaderSettings.projectDownloadProgressChanged += OnProjectDownloadProgressChanged; s_ProjectDownloader = new ProjectDownloader(s_ProjectDownloaderSettings, updater, user, storage); }
public ProjectDownloader(ProjectDownloaderSettings settings, IUpdateDelegate updateDelegate, UnityUser user, PlayerStorage playerStorage) { m_Settings = settings; m_PlayerStorage = playerStorage; m_UpdateDelegate = updateDelegate; m_User = user; SetUpdateDelegate(updateDelegate); }
public ReflectClient(IUpdateDelegate updateDelegate, UnityUser user, PlayerStorage storage, UnityProject project) { m_Project = project; m_User = user; m_Storage = storage; InitializeProjectClientListener(); updateDelegate.update += OnUpdate; }
public static void Init(UnityUser user, IUpdateDelegate updater, IProjectProvider client) // TODO Rename or move into a ProjectLister manager class { if (s_ProjectLister != null || s_ProjectsManager != null) { Dispose(); } // ProjectLister s_ProjectLister = new ProjectsLister(client); s_ProjectLister.projectListingCompleted += OnProjectListingCompleted; s_ProjectLister.projectListingException += OnProjectListingException; s_ProjectLister.SetUpdateDelegate(updater); s_ProjectsManager = new ProjectsManager(updater, user, Storage.main); s_ProjectsManager.projectStatusChanged += OnProjectStatusChanged; s_ProjectsManager.projectDownloadProgressChanged += OnProjectDownloadProgressChanged; s_ProjectsManager.projectDeleteProgressChanged += OnProjectDeleteProgressChanged; }
public void UnregisterDelegate(IUpdateDelegate updateDelegate) { _delegates.Remove(updateDelegate); }
public void RegisterDelegate(IUpdateDelegate updateDelegate) { _delegates.Add(updateDelegate); }
public void RemoveUpdateDelegate(IUpdateDelegate value) => value.update -= Update;
public void SetUpdateDelegate(IUpdateDelegate value) => value.update += Update;