public IEnumerator PopulateTheme() { ThemeData t = null; while (t == null) { t = ThemeDatabase.GetThemeData("default"); yield return(null); } //themeNameDisplay.text = t.themeName; //themeIcon.sprite = t.themeIcon; skyMeshFilter.sharedMesh = t.skyMesh; //UIGroundFilter.sharedMesh = t.UIGroundMesh; }
public IEnumerator PopulateTheme() { ThemeData t = null; while (t == null) { t = ThemeDatabase.GetThemeData(PlayerData.instance.themes[PlayerData.instance.usedTheme]); yield return(null); } themeNameDisplay.text = t.themeName; themeIcon.sprite = t.themeIcon; skyMeshFilter.sharedMesh = t.skyMesh; UIGroundFilter.sharedMesh = t.UIGroundMesh; }
public IEnumerator PopulateTheme() { ThemeData t = null; while (t == null) { t = ThemeDatabase.GetThemeData(PlayerData.instance.themes[PlayerData.instance.usedTheme]); yield return(null); } LocalizationSettings.StringDatabase.GetLocalizedString("UI", t.themeName).Completed += (obj) => themeNameDisplay.text = obj.Result; LocalizationSettings.AssetDatabase.GetLocalizedAssetAsync <Font>("UI Fonts", "LuckiestGuy").Completed += (obj) => themeNameDisplay.font = obj.Result; themeIcon.sprite = t.themeIcon; skyMeshFilter.sharedMesh = t.skyMesh; UIGroundFilter.sharedMesh = t.UIGroundMesh; }
public IEnumerator Begin() { if (!m_Rerun) { firstObstacle = true; m_CameraOriginalPos = Camera.main.transform.position; if (m_TrackSeed != -1) { Random.InitState(m_TrackSeed); } else { Random.InitState((int)System.DateTime.Now.Ticks); } // Since this is not a rerun, init the whole system (on rerun we want to keep the states we had on death) m_CurrentSegmentDistance = k_StartingSegmentDistance; m_TotalWorldDistance = 0.0f; characterController.gameObject.SetActive(true); //Addressables 1.0.1-preview // Spawn the player var op = Addressables.InstantiateAsync(PlayerData.instance.characters[PlayerData.instance.usedCharacter], Vector3.zero, Quaternion.identity); yield return(op); if (op.Result == null || !(op.Result is GameObject)) { Debug.LogWarning(string.Format("Unable to load character {0}.", PlayerData.instance.characters[PlayerData.instance.usedCharacter])); yield break; } Character player = op.Result.GetComponent <Character>(); player.SetupAccesory(PlayerData.instance.usedAccessory); characterController.character = player; characterController.trackManager = this; characterController.Init(); characterController.CheatInvincible(invincible); //Instantiate(CharacterDatabase.GetCharacter(PlayerData.instance.characters[PlayerData.instance.usedCharacter]), Vector3.zero, Quaternion.identity); player.transform.SetParent(characterController.characterCollider.transform, false); Camera.main.transform.SetParent(characterController.transform, true); if (m_IsTutorial) { m_CurrentThemeData = tutorialThemeData; } else { m_CurrentThemeData = ThemeDatabase.GetThemeData(PlayerData.instance.themes[PlayerData.instance.usedTheme]); } m_CurrentZone = 0; m_CurrentZoneDistance = 0; skyMeshFilter.sharedMesh = m_CurrentThemeData.skyMesh; RenderSettings.fogColor = m_CurrentThemeData.fogColor; RenderSettings.fog = true; gameObject.SetActive(true); characterController.gameObject.SetActive(true); characterController.coins = 0; characterController.premium = 0; m_Score = 0; m_ScoreAccum = 0; m_SafeSegementLeft = m_IsTutorial ? 0 : k_StartingSafeSegments; Coin.coinPool = new Pooler(currentTheme.collectiblePrefab, k_StartingCoinPoolSize); PlayerData.instance.StartRunMissions(this); #if UNITY_ANALYTICS AnalyticsEvent.GameStart(new Dictionary <string, object> { { "theme", m_CurrentThemeData.themeName }, { "character", player.characterName }, { "accessory", PlayerData.instance.usedAccessory >= 0 ? player.accessories[PlayerData.instance.usedAccessory].accessoryName : "none" } }); #endif } characterController.Begin(); StartCoroutine(WaitToStart()); isLoaded = true; }
public void Begin() { if (!m_Rerun) { if (m_TrackSeed != -1) { Random.InitState(m_TrackSeed); } else { Random.InitState((int)System.DateTime.Now.Ticks); } // Since this is not a rerun, init the whole system (on rerun we want to keep the states we had on death) m_CurrentSegmentDistance = k_StartingSegmentDistance; m_TotalWorldDistance = 0.0f; characterController.gameObject.SetActive(true); // Spawn the player Character player = Instantiate(CharacterDatabase.GetCharacter(PlayerData.instance.characters[PlayerData.instance.usedCharacter]), Vector3.zero, Quaternion.identity); player.transform.SetParent(characterController.characterCollider.transform, false); Camera.main.transform.SetParent(characterController.transform, true); player.SetupAccesory(PlayerData.instance.usedAccessory); characterController.character = player; characterController.trackManager = this; characterController.Init(); characterController.CheatInvincible(invincible); if (m_IsTutorial) { m_CurrentThemeData = tutorialThemeData; } else { m_CurrentThemeData = ThemeDatabase.GetThemeData(PlayerData.instance.themes[PlayerData.instance.usedTheme]); } m_CurrentZone = 0; m_CurrentZoneDistance = 0; skyMeshFilter.sharedMesh = m_CurrentThemeData.skyMesh; RenderSettings.fogColor = m_CurrentThemeData.fogColor; RenderSettings.fog = true; gameObject.SetActive(true); characterController.gameObject.SetActive(true); characterController.coins = 0; characterController.premium = 0; m_Score = 0; m_ScoreAccum = 0; m_SafeSegementLeft = m_IsTutorial ? 0 : k_StartingSafeSegments; Coin.coinPool = new Pooler(currentTheme.collectiblePrefab, k_StartingCoinPoolSize); PlayerData.instance.StartRunMissions(this); #if UNITY_ANALYTICS AnalyticsEvent.GameStart(new Dictionary <string, object> { { "theme", m_CurrentThemeData.themeName }, { "character", player.characterName }, { "accessory", PlayerData.instance.usedAccessory >= 0 ? player.accessories[PlayerData.instance.usedAccessory].accessoryName : "none" } }); #endif } characterController.Begin(); StartCoroutine(WaitToStart()); }