Exemplo n.º 1
0
 void onClick(GameObject button)
 {
     if (button == exitButton && Input.GetMouseButtonUp(0))
     {
         Debug.Log("Exit Dialogue");
         Dialoguer.EndDialogue();
     }
 }
    void Start()
    {
        Dialoguer.Initialize();

//		DialoguerEvents
        Dialoguer.events.ClearAll();
        //observe text init
        gCon          = GameController.instance;
        obsTextPrefab = gCon.gameSettings.observeText;
        obsTextObj    = Instantiate(obsTextPrefab, Vector3.zero, Quaternion.identity) as GameObject;
        obsTextObj.transform.SetParent(gCon.dialogueHolder.transform);
        obsTextObj.GetComponent <RectTransform> ().localPosition = obsTextPrefab.transform.position;
        obsTextObj.GetComponent <RectTransform> ().localScale    = Vector3.one;
        obsTextC = obsTextObj.GetComponentInChildren <Text> ();

        obsTextObj.SetActive(false);


        //continue button init
        continueButtonPrefab = gCon.gameSettings.continueButton;
        continueButton       = Instantiate(continueButtonPrefab, Vector3.zero, Quaternion.identity) as GameObject;
        continueButton.transform.SetParent(gCon.dialogueHolder.transform);
        continueButton.GetComponent <RectTransform> ().localPosition = continueButtonPrefab.transform.position;
        continueButton.GetComponent <RectTransform> ().localScale    = Vector3.one;
        continueButton.SetActive(false);
        continueButton.GetComponent <Button> ().onClick.AddListener(() => Dialoguer.ContinueDialogue());

        //endButton init
        endButtonPrefab = gCon.gameSettings.endButton;
        endButton       = Instantiate(endButtonPrefab, Vector3.zero, Quaternion.identity) as GameObject;
        endButton.transform.SetParent(gCon.dialogueHolder.transform);
        endButton.GetComponent <RectTransform> ().localPosition = endButtonPrefab.transform.position;
        endButton.GetComponent <RectTransform> ().localScale    = Vector3.one;
        endButton.SetActive(false);
        endButton.GetComponent <Button> ().onClick.AddListener(() => Dialoguer.EndDialogue());


        Dialoguer.events.onStarted   += OnStarted;
        Dialoguer.events.onEnded     += OnEnded;
        Dialoguer.events.onTextPhase += OnTextPhase;
    }
Exemplo n.º 3
0
    // Update is called once per frame
    void Update()
    {
        if (!_dialogue)
        {
            return;
        }

        if (_windowReady)
        {
            calculateText();
        }

        if (!_dialogue || _ending)
        {
            return;
        }

        if (!_isBranchedText)
        {
            if (Input.GetMouseButtonDown(0) || Input.GetKeyDown(KeyCode.X) || Input.GetKeyDown(KeyCode.Space) || Input.GetKeyDown(KeyCode.Return))
            {
                if (_windowCurrentText == _windowTargetText)
                {
                    Dialoguer.ContinueDialogue(0);
                }
                else
                {
                    _windowCurrentText = _windowTargetText;
                    audioTextEnd.Play();
                }
            }
            //code to skip dialogue
            if (Input.GetKeyDown(KeyCode.M))
            {
                Dialoguer.EndDialogue();
            }
        }
        else
        {
            if (Input.GetKeyDown(KeyCode.DownArrow))
            {
                _currentChoice = (int)Mathf.Repeat(_currentChoice + 1, _branchedTextChoices.Length);
                audioText.Play();
            }
            if (Input.GetKeyDown(KeyCode.UpArrow))
            {
                _currentChoice = (int)Mathf.Repeat(_currentChoice - 1, _branchedTextChoices.Length);
                audioText.Play();
            }
            if (Input.GetMouseButtonDown(0) && _windowCurrentText != _windowTargetText)
            {
                _windowCurrentText = _windowTargetText;
            }
            if (Input.GetKeyDown(KeyCode.X) || Input.GetKeyDown(KeyCode.Space) || Input.GetKeyDown(KeyCode.Return))
            {
                if (_windowCurrentText == _windowTargetText)
                {
                    Dialoguer.ContinueDialogue(_currentChoice);
                }
                else
                {
                    _windowCurrentText = _windowTargetText;
                    audioTextEnd.Play();
                }
            }
        }
    }