Exemplo n.º 1
0
    private void Turn()
    {
        if (leader != null && !leader.Equals(null) && script != null && !script.Equals(null))
        {
            Movement.DirAndPos dap       = script.GetDirectionAndPosition();
            Vector2            direction = dap.dir + (dap.pos - (Vector2)transform.position).normalized / 10;
            direction.Normalize();

            if (direction.x < 0)
            {
                model.transform.localScale = new Vector3(Mathf.Abs(model.transform.localScale.x), model.transform.localScale.y, model.transform.localScale.z);
                foreach (Transform hand in model.transform)
                {
                    hand.transform.GetChild(0).transform.localRotation             = Quaternion.Euler(0, 0, 0);
                    hand.transform.GetChild(0).transform.GetChild(0).localRotation = Quaternion.Euler(0, 0, 0);
                }
            }

            if (direction.x > 0)
            {
                model.transform.localScale = new Vector3(-Mathf.Abs(model.transform.localScale.x), model.transform.localScale.y, model.transform.localScale.z);
                foreach (Transform hand in model.transform)
                {
                    hand.transform.GetChild(0).transform.localRotation             = Quaternion.Euler(0, 0, 180);
                    hand.transform.GetChild(0).transform.GetChild(0).localRotation = Quaternion.Euler(0, 0, 180);
                }
            }
        }
    }
Exemplo n.º 2
0
    private void Move()
    {
        if (leader != null && !leader.Equals(null) && script != null && !script.Equals(null))
        {
            Movement.DirAndPos dap       = script.GetDirectionAndPosition();
            Vector2            direction = dap.dir + (dap.pos - (Vector2)transform.position).normalized / 10;
            direction.Normalize();

            transform.Translate(1.1f * direction * script.GetSpeed() * Time.deltaTime);

            float movedFromLastFrame = (lastPos - this.transform.position).sqrMagnitude;
            lastPos = this.transform.position;

            if (movedFromLastFrame > 0.01f)
            {
                animator.SetBool("Moving", true);
            }
            else
            {
                animator.SetBool("Moving", false);
            }
        }
    }