Пример #1
0
    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();
                    }
                }
            }
        }
    }
Пример #2
0
        public void CloseAlbum()
        {
            m_animator.SetTrigger("Out");
            Transform t;

            while (pages.Count > 0)
            {
                t = pages[0];
                pages.RemoveAt(0);
                Destroy(t.gameObject);
            }
            open = false;
            SystemsController.RunningAlbum(open);
        }
Пример #3
0
    public void StartDialogue(Dialogue dialogue)
    {
        this.currentDialogue = dialogue;
        this.sentences       = dialogue.sentences;
        currentSentence      = 0;
        running = true;

        if (dialogue.OnStartDialogue != null)
        {
            dialogue.OnStartDialogue.Invoke();
        }

        SystemsController.RunningDialogue(running);
    }
Пример #4
0
        public void ShowAlbum()
        {
            open = true;
            SystemsController.RunningAlbum(true);
            m_animator.SetTrigger("In");

            bool         front = true;
            PageBehavior page  = Instantiate(pagePrefab, pageContainer).GetComponent <PageBehavior>();

            pages.Add(page.transform);

            for (int cardListIndex = 0; cardListIndex < playerCards.List.Count; cardListIndex++)
            {
                // troca de página
                if (cardListIndex % cardsByPage == 0 && cardListIndex != 0)
                {
                    if (front)
                    {
                        front = !front;
                    }
                    else
                    {
                        page = Instantiate(pagePrefab, pageContainer).GetComponent <PageBehavior>();
                        pages.Add(page.transform);
                        page.transform.SetAsFirstSibling();
                        front = !front;
                    }
                }

                Card card;

                if (front)
                {
                    card = Instantiate(cardPrefab, page.front).GetComponent <Card>();
                }
                else
                {
                    card = Instantiate(cardPrefab, page.back).GetComponent <Card>();
                }
                card.Setup(playerCards.List[cardListIndex]);
            }
        }
Пример #5
0
    public void ShowChoices(InteractChoices.Choice[] choices)
    {
        SystemsController.RunningChoices(true);
        Transform t = Instantiate(choiceContainerPrefab, canvas.transform).transform;

        choicesAnimator = t.GetComponent <Animator>();
        openedChoice    = t.gameObject;
        VerticalLayoutGroup verticalGroup = t.GetComponentInChildren <VerticalLayoutGroup>();

        Debug.Log(verticalGroup.gameObject.name);
        foreach (InteractChoices.Choice choice in choices)
        {
            Button button = Instantiate(choicePrefab, verticalGroup.transform).GetComponent <Button>();
            button.onClick.AddListener(() => SelectChoice());
            button.onClick.AddListener(() => HideChoices());
            button.onClick.AddListener(() => choice.Select());

            TextMeshProUGUI text = button.GetComponentInChildren <TextMeshProUGUI>();
            text.SetText(choice.text);
        }
    }
Пример #6
0
 public void HideChoices()
 {
     choicesAnimator.SetTrigger("Out");
     Destroy(openedChoice, 2f);
     SystemsController.RunningChoices(false);
 }