private void DestroyStartingTile(int time) { StartCoroutine(EndlessRunnerGameManager.Wait(time, () => { Destroy(startingEnvironmentTile); })); }
private void CheckInputs() { if (_endPosition.magnitude > 50) { var x = _endPosition.x; if (Mathf.Abs(x) > Mathf.Abs(_endPosition.y)) { if (x < 0) { EndlessRunnerGameManager.instance.player.MoveLeft(); #if UNITY_EDITOR EndlessRunnerGameManager.DisplayDebugMessage("Swiped left"); #endif } else { EndlessRunnerGameManager.instance.player.MoveRight(); #if UNITY_EDITOR EndlessRunnerGameManager.DisplayDebugMessage("Swiped Right"); #endif } } Reset(); } }
private void CreateNewEnvironmentTileWithObjectPooling(Vector3 position) { _activeEnvironmentTile = ObjectPooling.ReturnObjectFromPool(0, position, Quaternion.identity); _activeEnvironmentTile.GetComponent <EnvironmentTileContentManager>().CreatePickupsAndEnemies(); #if UNITY_EDITOR EndlessRunnerGameManager.DisplayDebugMessage("New environment tile enabled from object pool."); #endif }
public static void SetHighScore(int newScore) { PlayerPrefs.SetInt(HighScoreId, newScore); #if UNITY_EDITOR EndlessRunnerGameManager.DisplayDebugMessage("New high score set: " + newScore); #endif }
//Unused method. Demonstration only. Using this method would require a different way of removing past environments and generates a lot of garbage. Object pooling is optimal. private void CreateNewEnvironmentTile(Vector3 position) { _activeEnvironmentTile = Instantiate(environmentPrefab, position, Quaternion.identity, gameObject.transform); _activeEnvironmentTile.GetComponent <EnvironmentTileContentManager>().CreatePickupsAndEnemies(); #if UNITY_EDITOR EndlessRunnerGameManager.DisplayDebugMessage("New environment tile instantiated."); #endif }
public void ResetWorldPositionToZero() { ParentEnvironmentTileToPlayer(true); ResetPlayerPosition(); ParentEnvironmentTileToPlayer(false); #if UNITY_EDITOR EndlessRunnerGameManager.DisplayDebugMessage("World position has been reset to 0."); #endif }
private void AwardPickup() { EndlessRunnerGameManager.instance.PickupCollision(ScoreValue); EnableParticle(true); StartCoroutine(EndlessRunnerGameManager.Wait(_waitTime, () => { EnableParticle(false); gameObject.SetActive(false); })); }
public Lane ReturnLaneToTheRight(int currentLaneIndex) { if (currentLaneIndex >= lanes.Length - 1) { #if UNITY_EDITOR EndlessRunnerGameManager.DisplayDebugMessage("You are in the left most lane, Lane: " + currentLaneIndex); #endif EndlessRunnerGameManager.instance.audioManager.PlayInvalidLaneNoise(); return(lanes[currentLaneIndex]); } return(lanes[currentLaneIndex + 1]); }
public static int ReturnHighScore() { if (PlayerPrefs.HasKey(HighScoreId)) { #if UNITY_EDITOR EndlessRunnerGameManager.DisplayDebugMessage("No previous high score saved."); #endif return(PlayerPrefs.GetInt(HighScoreId)); } #if UNITY_EDITOR EndlessRunnerGameManager.DisplayDebugMessage("High score retrieval successful."); #endif return(ScoreAndTimeManager.score); }
private void PlaySound(AudioClip clip) { var audioSourceGameObject = ObjectPooling.ReturnObjectFromPool(3, transform.position, Quaternion.identity); var audioSource = audioSourceGameObject.GetComponent <AudioSource>(); audioSource.clip = clip; audioSource.Play(); StartCoroutine(EndlessRunnerGameManager.Wait(clip.length, () => { audioSource.clip = null; audioSourceGameObject.SetActive(false); })); }
public void TakeHit() { if (!shieldActive) { return; } shieldActive = false; ActivateShield(false); canBeDamaged = false; StartCoroutine(EndlessRunnerGameManager.FlashObject(_meshRenderer, () => { canBeDamaged = true; //Intentionally take no damage when flashing. Seems fair. })); #if UNITY_EDITOR EndlessRunnerGameManager.DisplayDebugMessage("Player received damage, Shields gone!"); #endif }
private void ConvertPoolListIntoQueue() { foreach (var pool in pools) { var objectPool = new Queue <GameObject>(); for (var i = 0; i < pool.maximumActiveObjects; i++) { var temporaryVariable = Instantiate(pool.prefab); temporaryVariable.SetActive(false); objectPool.Enqueue(temporaryVariable); } if (PoolDictionary.ContainsKey(pool.index)) { #if UNITY_EDITOR EndlessRunnerGameManager.DisplayDebugMessage("Replacing object pool " + pool.index); #endif PoolDictionary.Remove(pool.index); } PoolDictionary.Add(pool.index, objectPool); } }
private void Pause() { EndlessRunnerGameManager.Pause(true); EnablePauseCanvas(); }
private void Awake() { instance = this; Pause(true); menuManager.EnableIntroductionCanvas(); }
private void RegisterCollision() { EndlessRunnerGameManager.instance.EnemyCollision(); StartCoroutine(EndlessRunnerGameManager.FlashObject(_meshRenderer)); }
private void Resume() { EndlessRunnerGameManager.Pause(false); EnableMainCanvas(); }
private static void RestartButton() { EndlessRunnerGameManager.Restart(); }