void OnCollisionEnter(Collision collision) { if (collision.collider.tag == "Wall") { Rigidbody.velocity = Vector3.zero; Vector3 playerPosition = new Vector3(Mathf.RoundToInt(transform.position.x), transform.position.y, Mathf.RoundToInt(transform.position.z)); transform.position = playerPosition; PlayerController.CheckNearbyWalls(); ParticlesController[1].StopParticle(); ParticlesController[0].PlayParticle(); if (NoncoloredFloorCubesNum == 0) { ExecuteAfterLevelCompleteInstructions(); } } else if (collision.collider.tag == "Floor") { ColorManager.ChangeFloorColor(collision.collider.gameObject); collision.collider.tag = "ColoredBefore"; NoncoloredFloorCubesNum--; } if (Rigidbody.velocity.magnitude != 0) { ParticlesController[1].SetMoveParticleRotation(Rigidbody.velocity); ParticlesController[1].PlayParticle(); } }