コード例 #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();
    }