private void OnCollisionEnter2D(Collision2D other) { if (other.gameObject.tag == "Platform" && other.gameObject.layer == LayerMask.NameToLayer("Default")) { if (rb.velocity.y > 0 || transform.position.y < other.transform.position.y) { return; } Platforms platformScript = other.gameObject.GetComponent <Platforms>(); if (platformScript != null) { platformScript.ChangeLayer(gameObject.layer); } } if (other.gameObject.tag == "GoalPlatform" && other.gameObject.layer == LayerMask.NameToLayer("Default")) { if (rb.velocity.y > 0 || transform.position.y < other.transform.position.y) { return; } GoalPlatform goal = other.gameObject.GetComponent <GoalPlatform>(); if (goal != null) { goal.TriggerPlayer(this, true); } } if (other.gameObject.tag == "Enemy") { Respawn(); } }