IEnumerator PlacePlayer() { //This makes sure Start runs on FPSScript yield return(null); _fpsScript.Teleport(_spawnPosition); ReadyToSpawnWorld = true; bool hit = false; RaycastHit collision; do { yield return(null); hit = Physics.Raycast(_spawnPosition, Vector3.down, out collision, _distanceRayCast, _layerMask.value); Debug.DrawRay(_spawnPosition, Vector3.down * _distanceRayCast, Color.cyan, 1f); } while (!hit); PlayerSpawned = true; Vector3 spawnPosition = collision.point; if (collision.point.y < _seaLevelSpawn) { spawnPosition.y = _seaLevelSpawn; } _fpsScript.Teleport(spawnPosition); OnStartFadeIn.FadeIn(); }
IEnumerator RestartWithFade() { while (!OnStartFadeIn.Done()) { yield return(null); } SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex, LoadSceneMode.Single); }
public void Restart() { Music_Manager.Instance.Stop_TriggerMusic(); if (!Music_Manager.Instance.StartMenu) { Music_Manager.Instance.Start_StartMenuMusic(); } Destroy(_menu); OnStartFadeIn.FadeOut(); StartCoroutine(RestartWithFade()); }
private void Awake() { if (_thisSingleton == null) { _thisSingleton = this; } else { Destroy(gameObject); } }