void Update() { if (!finish) { StartLevel(); } if (doLevel) { if (player.transform.position.x >= hoodedEnd.transform.position.x - 2f) { doLevel = false; StartCoroutine(FadeOut(theme)); pickUps.SetActive(false); player.SetInStory(true); enemies.SetActive(false); metroSpawners.SetActive(false); dialogue.SetActive(true); dialogueText.SelectTextFile("Level1End"); } } if (endLevel) { hoodedEnd.SetDissapears(); player.SetMoveRight(true); endLevel = false; } }
private void StartLevel() { if (canStart) { if (metroArrives) { if (!terraTheme.isPlaying) { terraTheme.Play(); } float distCovered = (Time.time - startTime) * 0.01f; float fracJourney = distCovered / journeyLength; metro.transform.position = Vector3.Lerp(metro.transform.position, new Vector3(metroTarget, metro.transform.position.y, metro.transform.position.z), fracJourney); player.transform.position = Vector3.Lerp(player.transform.position, new Vector3(metroTarget, player.transform.position.y, player.transform.position.z), fracJourney); if (player.transform.position.x <= mainCamera.transform.position.x) { mainCamera.GetComponent <FollowCam> ().SetTarget(); } if (metro.transform.position.x <= -60f) { metroArrives = false; scottArrives = true; metroDeparts = true; } } if (metroDeparts) { metro.transform.position -= new Vector3(0.1f, 0.0f, 0.0f); if (metro.transform.position.x <= -70f) { scottGoesUp = true; metroDeparts = false; Destroy(metro); } } if (scottArrives) { healthbar.SetActive(true); levelText.SetActive(true); player.GetComponent <Player> ().enabled = true; player.transform.position += new Vector3(0f, 0f, 10f); player.SetInStory(true); scottArrives = false; } if (scottGoesUp) { player.SetMoveUp(true); scottGoesUp = false; scottStopMove = true; } if (scottStopMove) { if (player.transform.position.y >= -3.5f) { player.SetMoveUp(false); scottStopMove = false; scottCanWalk = true; } } if (scottCanWalk) { player.SetCanWalk(true); if (player.transform.position.x >= -40f) { scottCanWalk = false; player.SetCanWalk(false); hoodedStartTalking = true; } } if (hoodedStartTalking) { if (terraTheme.isPlaying) { StartCoroutine(FadeOut(terraTheme)); } hoodedStartTalking = false; dialogue.SetActive(true); dialogueText.SelectTextFile("FirstScene"); } if (hoodedFinishedTalking) { StartCoroutine(FadeIn(theme)); hoodedFinishedTalking = false; hoodedDissapeared = true; hooded.SetDissapears(); } if (hoodedDissapeared) { healthbar.SetActive(true); pickUps.SetActive(true); pause.SetActive(true); player.SetInStory(false); enemies.SetActive(true); hoodedDissapeared = false; metroSpawners.SetActive(true); levelStuff.SetActive(true); control.SetActive(true); doLevel = true; hoodedEnd.gameObject.SetActive(true); finish = true; } } }