Example #1
0
    void LateUpdate()
    {
        Transform currTarget = iKThrowController.GetTarget();

        if (lastTarget != currTarget)
        {
            if (aimingCameraTargetGroup.m_Targets.Length > 1)
            {
                aimingCameraTargetGroup.RemoveMember(lastTarget);
            }
            aimingCameraTargetGroup.AddMember(currTarget, 1.5f, 1.0f);
            lastTarget = currTarget;
        }
        UpdateTargetMarkerPosition();
    }
Example #2
0
    void Update()
    {
        float   x = Input.GetAxis("Horizontal");
        float   z = Input.GetAxis("Vertical");
        Vector3 flatCameraForward = Camera.main.transform.forward;

        flatCameraForward.y = 0.0f;
        Vector3 flatCameraRight = Camera.main.transform.right;

        flatCameraRight.y = 0.0f;
        Vector3 controlledMovement = flatCameraForward.normalized * z + flatCameraRight.normalized * x;

        controlledMovement *= moveSpeed;


        if (isActive)
        {
            switch (movementState)
            {
            case MovementState.Standard:
                TurnToDir(controlledMovement.normalized);
                movement = new Vector3(controlledMovement.x, movement.y, controlledMovement.z);

                if (iKThrowController.GetThrowState() != IKThrowController.ThrowState.None)
                {
                    movementState = MovementState.Aiming;
                }
                break;

            case MovementState.Aiming:
                if (iKThrowController.GetTarget())
                {
                    Vector3 targetDir     = iKThrowController.GetTarget().position - transform.position;
                    Vector3 flatTargetDir = new Vector3(targetDir.x, 0.0f, targetDir.z);
                    TurnToDir(flatTargetDir.normalized);
                }
                movement = new Vector3(controlledMovement.x, movement.y, controlledMovement.z);

                if (iKThrowController.GetThrowState() == IKThrowController.ThrowState.None)
                {
                    movementState = MovementState.Standard;
                }
                break;
            }
            movement += Physics.gravity * Time.deltaTime;
            cc.Move(movement * Time.deltaTime);
        }
    }