Beispiel #1
0
    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();
        }
    }