private void OnApplicationPause(bool pauseStatus) { if (pauseStatus || ProjectServer.Provider == LocaleUtils.GetProvider()) { return; } if (m_User != null) { Logout(); } ProjectServer.Cleanup(); ProjectServer.Init(); }
public static void Init(string appId = "REFLECT_VIEWER") { if (s_Initialized) { return; } s_Initialized = true; var environmentInfo = LocaleUtils.GetEnvironmentInfo(); Provider = environmentInfo.provider; var projectDataSuffix = string.Empty; string projectServerAddress; if (PlayerPrefs.HasKey(LocaleUtils.SettingsKeys.CloudEnvironment) && environmentInfo.cloudEnvironment == CloudEnvironment.Other) { projectServerAddress = environmentInfo.customUrl; projectDataSuffix = $"-{projectServerAddress.MD5Hash()}"; } else { projectServerAddress = ProjectServerClient.ProjectServerAddress(environmentInfo.provider, environmentInfo.cloudEnvironment); if (environmentInfo.cloudEnvironment != CloudEnvironment.Production) { projectDataSuffix = $"-{environmentInfo.provider}-{environmentInfo.cloudEnvironment}"; } // else: No suffix for prod since real users already have data stored in their ProjectData folder } ProjectDataPath = Path.Combine(Application.persistentDataPath, $"ProjectData{projectDataSuffix}"); Directory.CreateDirectory(ProjectDataPath); Client = new ProjectServerClient(projectServerAddress, appId, ProjectDataPath); }