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; }
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; } }