예제 #1
0
    public void faceAwayPlayer()
    {
        if (gameObject.tag == "Player")
        {
            return;
        }
        GameObject player = GameObject.FindWithTag("Player");

        if (!player)
        {
            return;
        }

        if (controller.isFacingRight() && player.transform.position.x > transform.position.x)
        {
            controller.FaceLeft();
        }
        if (!controller.isFacingRight() && player.transform.position.x < transform.position.x)
        {
            controller.FaceRight();
        }

        facing = facingDirections.side;
        setDressFacing(0);
        if (controller.holdingSomething())
        {
            controller.getHolding().setFacingDirection(0);
        }
    }
예제 #2
0
 public void Back()
 {
     facing = facingDirections.back;
     setDressFacing(2);
     if (controller.holdingSomething())
     {
         controller.getHolding().setFacingDirection(2);
     }
 }
예제 #3
0
 public void Front()
 {
     facing = facingDirections.front;
     setDressFacing(1);
     if (controller.holdingSomething())
     {
         controller.getHolding().setFacingDirection(1);
     }
 }
예제 #4
0
    public void Side()
    {
        facing = facingDirections.side;
        setDressFacing(0);
        if (controller.holdingSomething())
        {
            controller.getHolding().setFacingDirection(0);
        }
        FlipX(controller.isFacingRight());

        //Sometimes when we go from front or back to side the child sprites (dresses and stuff) don't get flipped because the Flip function (which handles this task) doesn't need to be called
        //This is my incredibly lazy way of making sure the Flip function gets called anyway and the character maintains his left/right facing. I make no claims to be a good programmer.
        controller.Flip();
        controller.Flip();
    }