Ejemplo n.º 1
0
    //NextTextを分解して、各種処理を挟めるようにする。
    protected async UniTask NextText()
    {
        Debug.Log("NextText");
        //テキストAnim入れるといい。
        // var letterAmount = dialogues[currentTextNum].Length;
        // var current = 1;
        // while (current <= letterAmount)
        // {
        //     var s = dialogues[currentTextNum].Substring(0, current);
        //     _targetText.text = s;
        //     current++;
        //     await UniTask.Delay((int)(typingDuration * 1000), cancellationToken: _cts.Token);
        // }
        await TextAnim.TypeAnim(_targetText, dialogues[currentTextNum], typingDuration, _cts.Token);

        currentTextNum++;
    }
Ejemplo n.º 2
0
    protected override async UniTask FirstEvent(CancellationToken token)
    {
        //上下黒クロップいれて映画っぽい演出から始めてもいいな。
        FindObjectOfType <RoomHandController>().SwitchClickable(false);
        var monologueText = FindObjectOfType <SubtitleCanvas>().monologueText;
        var lang          = FindObjectOfType <CommonManager>().PlayLang;

        _contents = lang == Lang.ja ? contents_ja : contents_en;
        if (_contents.timeCount.Length != _contents.dialogues.Length + 1)
        {
            Debug.LogWarning("コンテンツの情報が適切にセットされていません。");
        }
        for (int i = 0; i < _contents.dialogues.Length; i++)
        {
            await UniTask.Delay((int)(_contents.timeCount[0] * 1000), cancellationToken : token);

            await TextAnim.TypeAnim(monologueText, _contents.dialogues[i], typingDuration, token);

            while (true)
            {
                await UniTask.Yield(PlayerLoopTiming.Update, cancellationToken : token);

                if (Input.GetMouseButtonDown(0))
                {
                    break;
                }
            }
            if (i != _contents.dialogues.Length - 1)
            {
                monologueText.text = "";
            }
        }
        var duration = 3f;
        await TextAnim.FadeOutText(monologueText, duration, token);

        FindObjectOfType <RoomHandController>().SwitchClickable(true);
    }