//Called once per frame to do platform-specific stuff public static void Update() { #if UNITY_XBOXONE && !UNITY_EDITOR XboxOneManager.Update(); #elif UNITY_PS4 && !UNITY_EDITOR PS4Manager.Update(); #endif UpdatePresence(); }
//Called at startup to initialize platform-specific stuff public static void Init() { #if UNITY_XBOXONE #if !UNITY_EDITOR XboxOneManager.Init(); #endif #elif UNITY_PS4 PS4Manager.Init(); //Check if PS4's language changed; if so we override the pilot's setting SystemLanguage lang = Application.systemLanguage; m_system_language_changed = ((int)lang != PlayerPrefs.GetInt("SystemLanguage")); Debug.Log("System language changed: " + m_system_language_changed); PlayerPrefs.SetInt("SystemLanguage", (int)lang); #elif !PLAYABLE_TEASER if (Steam.Initialize()) { CloudProvider = CloudProviders.Steam; //Check if Steam's language changed; if so we override the pilot's setting string lang = Steamworks.SteamApps.GetCurrentGameLanguage(); m_system_language_changed = (lang != PlayerPrefs.GetString("SteamLanguage")); Debug.Log("System language changed: " + m_system_language_changed); PlayerPrefs.SetString("SteamLanguage", lang); //Set up callback for Steam overlay opened Steamworks.Callback <Steamworks.GameOverlayActivated_t> .Create(pCallback => { if (pCallback.m_bActive != 0) { if (GameManager.m_game_state == GameManager.GameState.GAMEPLAY) { GameManager.m_gm.OpenPauseMenu(); } } }); } else //Try Galaxy { #if !UNITY_STANDALONE_LINUX //Create Galaxy manager GogGalaxyManager galaxy_manager = GameManager.m_gm.gameObject.AddComponent <GogGalaxyManager>(); if (galaxy_manager != null) { Debug.Log("SignedIn: " + Galaxy.Api.GalaxyInstance.User().SignedIn()); Debug.Log("LoggedOn: " + Galaxy.Api.GalaxyInstance.User().IsLoggedOn()); } //A callback on success will set CloudProvider to Galaxy #endif } #endif }