示例#1
0
    IEnumerator TimeToReact(float timeforreact, float timeBetweenAiAndPlayer, SetSprite.SpriteState aiState)
    {
        SetSprite.AiState = aiState;
        yield return(new WaitForSeconds(timeBetweenAiAndPlayer));//this is short, but it acts as kind of a buffer to get the rhythm right

        CheckInput.check = true;
        yield return(new WaitForSeconds(timeforreact));

        CheckInput.check = false;

        if (CheckInput.InputIsCorrect == 1)//this sees whether you pressed the right number or not
        {
            StartCoroutine(ReactExpression(timeForReactionExpression, SetSprite.SpriteState.happyExpression));
            audioSource.clip = correctSound;
            audioSource.Play();
        }
        else
        {
            StartCoroutine(ReactExpression(timeForReactionExpression, SetSprite.SpriteState.angryExpression));
            audioSource.clip = wrongSound;
            audioSource.Play();
        }
        CheckInput.didPoints           = false;//these just need to be reset afterwords
        CheckInput.InputIsCorrect      = 0;
        CheckInput.restingAfterCorrect = false;
    }
示例#2
0
    IEnumerator ChangeEachAIStateOverTime(float timeBetweenStates, SetSprite.SpriteState state)
    {
        for (int i = 0; i < AiStateChange.AiGameObjects.Count; i++)//for each sprite, change pose, then wait then change pose then wait
        {
            AiStateChange.AiGameObjects[i].GetComponent <SetSprite>().State = state;
            yield return(new WaitForSeconds(timeBetweenStates));

            AiStateChange.AiGameObjects[i].GetComponent <SetSprite>().State = SetSprite.SpriteState.normal;
        }
        StartCoroutine(TimeToReact(timeToReact, timeBetweenAiAndPlayer, state));
    }
示例#3
0
    IEnumerator ChangeStatesOverTimeTwoPositions(float timeBetweenStates, SetSprite.SpriteState state1, SetSprite.SpriteState state2)
    {//for each ai it shows 2 poses that are the same.
        for (int i = 0; i < AiStateChange.AiGameObjects.Count; i++)
        {
            AiStateChange.AiGameObjects[i].GetComponent <SetSprite>().State = state1;
            yield return(new WaitForSeconds(timeBetweenStates - .1f));//this is the time between 2 states

            AiStateChange.AiGameObjects[i].GetComponent <SetSprite>().State = state2;
            yield return(new WaitForSeconds(timeBetweenStates));

            AiStateChange.AiGameObjects[i].GetComponent <SetSprite>().State = SetSprite.SpriteState.normal;
        }
        StartCoroutine(TimeToReactTwoPositions(timeToReact, timeBetweenAiAndPlayer, state1, state2));
    }
示例#4
0
    IEnumerator ReactExpression(float expressionTime, SetSprite.SpriteState aiState)
    {
        for (int i = 0; i < AiStateChange.AiGameObjects.Count; i++)//for each sprite, change pose to reaction pose
        {
            AiStateChange.AiGameObjects[i].GetComponent <SetSprite>().State = aiState;
        }

        yield return(new WaitForSeconds(expressionTime));

        for (int i = 0; i < AiStateChange.AiGameObjects.Count; i++)//set sprite back to normal
        {
            AiStateChange.AiGameObjects[i].GetComponent <SetSprite>().State = SetSprite.SpriteState.normal;
        }
    }
示例#5
0
    IEnumerator TimeToReactTwoPositions(float timeforreact, float timeBetweenAiAndPlayer, SetSprite.SpriteState aiState1, SetSprite.SpriteState aiState2)
    {
        SetSprite.AiState = aiState1;//check for first pose
        yield return(new WaitForSeconds(timeBetweenAiAndPlayer));

        CheckInput.check = true;
        yield return(new WaitForSeconds(timeforreact - .2f)); //time between 2 poses

        SetSprite.AiState = aiState2;                         //check for first pose
        CheckInput.check  = false;

        if (CheckInput.InputIsCorrect == 1)//this sees whether you pressed the right number or not
        {
            StartCoroutine(ReactExpression(timeForReactionExpression, SetSprite.SpriteState.happyExpression));
            audioSource.clip = correctSound;
            audioSource.Play();
        }
        else
        {
            StartCoroutine(ReactExpression(timeForReactionExpression, SetSprite.SpriteState.angryExpression));
            audioSource.clip = wrongSound;
            audioSource.Play();
        }
        CheckInput.didPoints           = false;//these just need to be reset afterwords
        CheckInput.InputIsCorrect      = 0;
        CheckInput.restingAfterCorrect = false;
    }