private void OnTriggerEnter2D(Collider2D collision) { playerscript = collision.GetComponent <PlayerPlatformer>(); playerscript.DestroyChildren(); playerscript.GetComponent <Rigidbody2D>().velocity = Vector2.zero; playerscript.GetComponent <Rigidbody2D>().simulated = false; playerscript.gravityModifier = 0; playerscript.animator.SetTrigger("Fall"); }
private IEnumerator TravelThroughWindowAnimation(Vector3 exitPosition, Window window) { Rigidbody2D playerRB = platformerPhase.GetComponent <Rigidbody2D>(); playerRB.bodyType = RigidbodyType2D.Kinematic; playerRB.velocity = ((playerRB.transform.position - exitPosition).normalized * 2f); if (playerRB.velocity.y < .3f) { playerRB.velocity = new Vector2(playerRB.velocity.x, 2f); } transitionChargeSFX.Play(); yield return(new WaitForSecondsRealtime(.5f)); transitionEffect.transform.position = playerRB.transform.position; transitionEffect.SetActive(true); playerRB.gameObject.SetActive(false); while (Vector3.Distance(transitionEffect.transform.position, exitPosition) > .1f) { yield return(new WaitForEndOfFrame()); transitionEffect.transform.position += (exitPosition - transitionEffect.transform.position).normalized * .1f; } transitionEffect.SetActive(false); if (window) { window.Close(); if (window.isFinal()) { gameManager.ReturnToStageSelect(); } else { gameManager.CallNextStage(); } } else if (gameManager) { gameManager.CallNextStage(); } }
private void Start() { player = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerPlatformer>(); playerRb2d = player.GetComponent <Rigidbody2D>(); }