void RequestAsyncUrl(AsyncUrlId asyncUrlId, Action <string> callback) { var asyncUrlCallback = new AsyncUrlCallback() { asyncUrlId = asyncUrlId, callback = callback }; if (pathsReady) { InvokeAsyncUrlCallback(asyncUrlCallback); } else { m_AsyncUrlCallbacks.Enqueue(asyncUrlCallback); LoadConfigurations(); } }
void InvokeAsyncUrlCallback(AsyncUrlCallback asyncUrlCallback) { switch (asyncUrlCallback.asyncUrlId) { case AsyncUrlId.CurrentUserApiUrl: asyncUrlCallback.callback(m_CurrentUserApiUrl); break; case AsyncUrlId.ProjectsApiUrl: asyncUrlCallback.callback(m_ProjectsApiUrl); break; case AsyncUrlId.ProjectApiUrl: asyncUrlCallback.callback(m_ProjectApiUrl); break; case AsyncUrlId.ProjectCoppaApiUrl: asyncUrlCallback.callback(m_ProjectCoppaApiUrl); break; case AsyncUrlId.ProjectUsersApiUrl: asyncUrlCallback.callback(m_ProjectUsersApiUrl); break; case AsyncUrlId.ProjectDashboardUrl: asyncUrlCallback.callback(m_ProjectDashboardUrl); break; case AsyncUrlId.ProjectServiceFlagsApiUrl: asyncUrlCallback.callback(m_ProjectServiceFlagsApiUrl); break; case AsyncUrlId.CloudBuildProjectUrl: asyncUrlCallback.callback(m_CloudBuildProjectUrl); break; case AsyncUrlId.CloudBuildUploadUrl: asyncUrlCallback.callback(m_CloudBuildUploadUrl); break; case AsyncUrlId.CloudBuildTargetUrl: asyncUrlCallback.callback(m_CloudBuildTargetUrl); break; case AsyncUrlId.CloudBuildApiUrl: asyncUrlCallback.callback(m_CloudBuildApiUrl); break; case AsyncUrlId.CloudBuildApiProjectUrl: asyncUrlCallback.callback(m_CloudBuildApiProjectUrl); break; case AsyncUrlId.CloudBuildApiStatusUrl: asyncUrlCallback.callback(m_CloudBuildApiStatusUrl); break; case AsyncUrlId.CloudDiagCrashesDashboardUrl: asyncUrlCallback.callback(m_CloudDiagCrashesDashboardUrl); break; case AsyncUrlId.CollabDashboardUrl: asyncUrlCallback.callback(m_CollabDashboardUrl); break; case AsyncUrlId.PurchasingDashboardUrl: asyncUrlCallback.callback(m_PurchasingDashboardUrl); break; case AsyncUrlId.AnalyticsDashboardUrl: asyncUrlCallback.callback(m_AnalyticsDashboardUrl); break; default: throw new ArgumentOutOfRangeException(); } }