Ejemplo n.º 1
0
    void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.tag == "Pacman" && pacman.poweredUp == true)
        {
            GetComponent <Animator>().SetTrigger("Dead");
            GetComponent <Animator>().SetBool("IsWeak", false);
            dead = true;
        }

        if (collision.tag == "Pacman" && pacman.poweredUp == false && dead == false)
        {
            pacman.GetComponent <Animator>().SetTrigger("Dead");
            pacman.GetComponent <Animator>().SetBool("Moving", true);
            --pacman.lives;
            if (pacman.lives == 0)
            {
                pacman.dead = true;
            }
        }

        if (collision.tag == "Waypoint")
        {
            testUp    = collision.GetComponent <Waypoint>().up;
            testDown  = collision.GetComponent <Waypoint>().down;
            testLeft  = collision.GetComponent <Waypoint>().left;
            testRight = collision.GetComponent <Waypoint>().right;

            if (!pacman.poweredUp && dead == false)
            {
                GetComponent <Animator>().SetBool("IsWeak", false);
                if (pacman.pacmanPos().x < transform.position.x && testLeft == true && prevMove != "right")
                {
                    up       = false;
                    right    = false;
                    down     = false;
                    left     = true;
                    prevMove = "left";
                }
                else if (pacman.pacmanPos().x > transform.position.x && testRight == true && prevMove != "left")
                {
                    up       = false;
                    left     = false;
                    down     = false;
                    right    = true;
                    prevMove = "right";
                }
                else if (pacman.pacmanPos().y < transform.position.y && testDown == true && prevMove != "up")
                {
                    up       = false;
                    right    = false;
                    left     = false;
                    down     = true;
                    prevMove = "down";
                }
                else if (pacman.pacmanPos().y > transform.position.y && testUp == true && prevMove != "down")
                {
                    right    = false;
                    left     = false;
                    down     = false;
                    up       = true;
                    prevMove = "up";
                }
                else if (testRight)
                {
                    left     = false;
                    down     = false;
                    up       = false;
                    right    = true;
                    prevMove = "right";
                }
                else if (testUp)
                {
                    left     = false;
                    down     = false;
                    right    = false;
                    up       = true;
                    prevMove = "up";
                }
                else if (testLeft)
                {
                    right    = false;
                    down     = false;
                    up       = false;
                    left     = true;
                    prevMove = "left";
                }
                else if (testDown)
                {
                    left     = false;
                    right    = false;
                    up       = false;
                    down     = true;
                    prevMove = "down";
                }
            }
            if (pacman.poweredUp && dead == false)
            {
                GetComponent <Animator>().SetBool("IsWeak", true);
                if (pacman.pacmanPos().x > transform.position.x && testLeft == true && prevMove != "right")
                {
                    up       = false;
                    right    = false;
                    down     = false;
                    left     = true;
                    prevMove = "left";
                }
                else if (pacman.pacmanPos().x < transform.position.x && testRight == true && prevMove != "left")
                {
                    up       = false;
                    left     = false;
                    down     = false;
                    right    = true;
                    prevMove = "right";
                }
                else if (pacman.pacmanPos().y > transform.position.y && testDown == true && prevMove != "up")
                {
                    up       = false;
                    right    = false;
                    left     = false;
                    down     = true;
                    prevMove = "down";
                }
                else if (pacman.pacmanPos().y < transform.position.y && testUp == true && prevMove != "down")
                {
                    right    = false;
                    left     = false;
                    down     = false;
                    up       = true;
                    prevMove = "up";
                }
                else if (testRight)
                {
                    left     = false;
                    down     = false;
                    up       = false;
                    right    = true;
                    prevMove = "right";
                }
                else if (testUp)
                {
                    left     = false;
                    down     = false;
                    right    = false;
                    up       = true;
                    prevMove = "up";
                }
                else if (testLeft)
                {
                    right    = false;
                    down     = false;
                    up       = false;
                    left     = true;
                    prevMove = "left";
                }
                else if (testDown)
                {
                    left     = false;
                    right    = false;
                    up       = false;
                    down     = true;
                    prevMove = "down";
                }
            }

            if (dead == true)
            {
                if (14.5 < transform.position.x && testLeft == true && prevMove != "right")
                {
                    up       = false;
                    right    = false;
                    down     = false;
                    left     = true;
                    prevMove = "left";
                }
                else if (14.5 > transform.position.x && testRight == true && prevMove != "left")
                {
                    up       = false;
                    left     = false;
                    down     = false;
                    right    = true;
                    prevMove = "right";
                }
                else if (17 < transform.position.y && testDown == true && prevMove != "up")
                {
                    up       = false;
                    right    = false;
                    left     = false;
                    down     = true;
                    prevMove = "down";
                }
                else if (17 > transform.position.y && testUp == true && prevMove != "down")
                {
                    right    = false;
                    left     = false;
                    down     = false;
                    up       = true;
                    prevMove = "up";
                }
                else if (testRight)
                {
                    left     = false;
                    down     = false;
                    up       = false;
                    right    = true;
                    prevMove = "right";
                }
                else if (testUp)
                {
                    left     = false;
                    down     = false;
                    right    = false;
                    up       = true;
                    prevMove = "up";
                }
                else if (testLeft)
                {
                    right    = false;
                    down     = false;
                    up       = false;
                    left     = true;
                    prevMove = "left";
                }
                else if (testDown)
                {
                    left     = false;
                    right    = false;
                    up       = false;
                    down     = true;
                    prevMove = "down";
                }
            }
        }
    }