コード例 #1
0
ファイル: DialogueController.cs プロジェクト: Wyru/o-batedor
    void Update()
    {
        if (running)
        {
            if (currentTypewriter == null)
            {
                if (currentSentence < sentences.Length)
                {
                    currentTypewriter = Instantiate(typewriterPrefab, canvas).GetComponent <Typewriter>();
                    sentence          = sentences[currentSentence++];

                    currentTypewriter.Setup(sentence.text, sentence.Speed, sentence.MaxPitch, sentence.MinPitch, sentence.Voice);
                }
                else
                {
                    running = false;
                    SystemsController.RunningDialogue(running);
                    if (currentDialogue.OnEndDialogue != null)
                    {
                        currentDialogue.OnEndDialogue.Invoke();
                    }
                }
            }
            else
            {
                if (sentence.origin != null)
                {
                    currentTypewriter.transform.position = cam.WorldToScreenPoint(sentence.origin.position);
                }
                else
                {
                    // system message
                }
                if (currentTypewriter.Done)
                {
                    if (Input.GetMouseButtonDown(0))
                    {
                        Destroy(currentTypewriter.gameObject);
                        currentTypewriter = null;
                    }
                }
                else
                {
                    if (Input.GetMouseButtonDown(0))
                    {
                        currentTypewriter.JumpToEnd();
                    }
                }
            }
        }
    }