void LickIt()
    {
        if (currentState == LickState.Input)
        {
            if (Input.GetKeyDown(KeyCode.Mouse0) && isNormalLicking == false && isSuperLicking == false)
            {
                animator.SetTrigger("Lick");
                tongueSpeed      = 1.0f;
                tongueMaxStretch = 0.2f;
                isNormalLicking  = true;
                currentState     = LickState.StretchIncrease;
                CalculateAngle();
                GetComponentInParent <AudioSource>().Play();
            }
        }
        else if (currentState == LickState.StretchIncrease)
        {
            tongueCurrentStretch += tongueSpeed * Time.deltaTime;
            tongueCurrentStretch  = Mathf.Clamp(tongueCurrentStretch, tongueStartStretch, tongueMaxStretch);
            transform.localScale  = new Vector3(tongueCurrentStretch, transform.localScale.y, transform.localScale.z);

            if (tongueCurrentStretch >= tongueMaxStretch)
            {
                currentState = LickState.StretchDecrease;
            }
        }
        else if (currentState == LickState.StretchDecrease)
        {
            tongueCurrentStretch -= tongueSpeed * Time.deltaTime;
            tongueCurrentStretch  = Mathf.Clamp(tongueCurrentStretch, tongueStartStretch, tongueMaxStretch);
            transform.localScale  = new Vector3(tongueCurrentStretch, transform.localScale.y, transform.localScale.z);

            if (tongueCurrentStretch <= tongueStartStretch)
            {
                currentState = LickState.Input;
            }
        }

        isNormalLicking = false;
    }
Exemplo n.º 2
0
    void SuperLick()
    {
        if (currentState == LickState.Input)
        {
            if (Input.GetKeyDown(KeyCode.Q) && currentTime >= maxTime && isNormalLicking == false && isSuperLicking == false)
            {
                currentTime      = 0f;
                tongueSpeed      = 2.0f;
                tongueMaxStretch = 2f;
                isSuperLicking   = true;
                currentState     = LickState.StretchIncrease;
                CalculateAngle();
            }
        }
        else if (currentState == LickState.StretchIncrease)
        {
            tongueCurrentStretch += tongueSpeed * Time.deltaTime;
            tongueCurrentStretch  = Mathf.Clamp(tongueCurrentStretch, tongueStartStretch, tongueMaxStretch);
            transform.localScale  = new Vector3(tongueCurrentStretch, transform.localScale.y, transform.localScale.z);

            if (tongueCurrentStretch >= tongueMaxStretch)
            {
                currentState = LickState.StretchDecrease;
            }
        }
        else if (currentState == LickState.StretchDecrease)
        {
            tongueCurrentStretch -= tongueSpeed * Time.deltaTime;
            tongueCurrentStretch  = Mathf.Clamp(tongueCurrentStretch, tongueStartStretch, tongueMaxStretch);
            transform.localScale  = new Vector3(tongueCurrentStretch, transform.localScale.y, transform.localScale.z);

            if (tongueCurrentStretch <= tongueStartStretch)
            {
                currentState = LickState.Input;
            }

            isSuperLicking = false;
        }
    }