private void OnTriggerEnter2D(Collider2D collision) { if (edgeCollider2D.IsTouchingLayers(simonLayer) && !isChanging && SimonActions.simon.CanTrasint()) { isChanging = true; CameraMovement currentCamera = Camera.main.GetComponent <CameraMovement>(); currentCamera.ChangeCameraMovement(); if (!bossScenario) { LeftCollider.enabled = false; RigthCollider.enabled = false; } else { LeftCollider.enabled = true; RigthCollider.enabled = true; StartCoroutine(GameManager.gameManager.SpawnBoss()); } if (doorTransit) { currentCamera.transitCamera = true; } if (holeTransit) { StartCoroutine(GameManager.gameManager.ClosePassage()); } StartCoroutine(GameManager.gameManager.WaitForTransition()); if (bossScenario) { edgeCollider2D.enabled = false; } } }
public IEnumerator WaitForTransition() { //case boss room DestroyEnemys(); if (currentScenario.bossScenario) { yield return(new WaitForSeconds(0f)); currentScenario.isChanging = true; currentScenario.LeftCollider.enabled = true; currentScenario.RigthCollider.enabled = true; ChangeScene(); CameraMovement currentCamera = Camera.main.GetComponent <CameraMovement>(); currentCamera.ChangeCheckPoints(); currentCamera.ChangeCameraMovement(); } //case door transit else if (currentScenario.doorTransit && !currentScenario.holeTransit) { SimonActions.simon.SetTransition(); yield return(new WaitForSeconds(3f)); currentScenario.isChanging = true; currentScenario.LeftCollider.enabled = true; currentScenario.RigthCollider.enabled = true; ChangeScene(); CameraMovement currentCamera = Camera.main.GetComponent <CameraMovement>(); currentCamera.transform.position = currentScenario.StartCameraPosition; currentCamera.ChangeCheckPoints(); currentCamera.ChangeCameraMovement(); SimonActions.simon.transitioning = false; } //case hole transit else if (!currentScenario.doorTransit && currentScenario.holeTransit) { SimonActions.simon.SetTransition(); if (i == 3) { print("GotHere1"); TeleportSimon(); } yield return(new WaitForSeconds(3f)); SimonActions.simon.rigidbody.isKinematic = false; currentScenario.isChanging = true; currentScenario.LeftCollider.enabled = true; currentScenario.RigthCollider.enabled = true; ChangeScene(); CameraMovement currentCamera = Camera.main.GetComponent <CameraMovement>(); currentCamera.transform.position = currentScenario.StartCameraPosition; currentCamera.ChangeCheckPoints(); currentCamera.ChangeCameraMovement(); SimonActions.simon.transitioning = false; } //case castle transit else if (!currentScenario.doorTransit && !currentScenario.holeTransit) { SimonActions.simon.SetTransition(); yield return(new WaitForSeconds(3.5f)); currentScenario.isChanging = true; currentScenario.LeftCollider.enabled = true; currentScenario.RigthCollider.enabled = true; ChangeScene(); CameraMovement currentCamera = Camera.main.GetComponent <CameraMovement>(); currentCamera.transform.position = currentScenario.StartCameraPosition; currentCamera.ChangeCheckPoints(); currentCamera.ChangeCameraMovement(); SimonActions.simon.transitioning = false; } }