コード例 #1
0
ファイル: BuddySpeech.cs プロジェクト: MikouZonata/BubbleBox
    void SaySomething(SpeechDistances distance, BuddySpeechData.SpeechData speechData)
    {
        if (_activeTextRoutine != null)
        {
            StopAllSpeech();
        }

        switch (distance)
        {
        case SpeechDistances.CloseBy:
            _activeTextRoutine = StartCoroutine(SpeechRoutine(speechData, _closeByTextDisplayLeft, _closeByTextDisplayRight));
            break;

        case SpeechDistances.FarAway:
            _activeTextRoutine = StartCoroutine(SpeechRoutine(speechData, _farAwayTextDisplay));
            break;
        }
    }
コード例 #2
0
ファイル: BuddySpeech.cs プロジェクト: MikouZonata/BubbleBox
    IEnumerator SpeechRoutine(BuddySpeechData.SpeechData speechData, params TextMeshPro[] displays)
    {
        foreach (TextMeshPro display in displays)
        {
            display.gameObject.SetActive(true);
        }

        for (int i = 0; i < speechData.texts.Length; i++)
        {
            foreach (TextMeshPro display in displays)
            {
                display.text = speechData.texts[i];
            }

            float waitTime = speechData.texts[i].Length * _secondsPerCharacter;
            yield return(new WaitForSeconds(waitTime));
        }

        StopAllSpeech();
        _cooldownTimer = speechData.cooldownTime;
    }