private void startConversation()
    {
        txtBox.setSprite(getSprite());
        txtBox.setNPCname(_name);
        if (!currentlyTalking)
        {
            currentlyTalking = true;
            txtBox.IdentifyNPC(this);
            bool isEvidenceTalk = false;
            if (requiredItem != null)
            {
                if (PlayerHasRequiredItem())
                {
                    if (!PersistenceController.instance.dialogueState.givenEvidenceRequiringTalk.ContainsKey(name) || PersistenceController.instance.dialogueState.givenEvidenceRequiringTalk[name] == false)
                    {
                        isEvidenceTalk = true;
                        PersistenceController.instance.dialogueState.givenEvidenceRequiringTalk.Add(name, true);

                        txtBox.ReloadScript(evidenceTriggerDialogueFile);
                        txtBox.ContinueDialogue();
                    }
                }
            }
            if (!isEvidenceTalk)
            {
                if (PersistenceController.instance.dialogueState.firstTalk[name])
                {
                    txtBox.ReloadScript(initialDialogueFile);
                    txtBox.ContinueDialogue();
                    PersistenceController.instance.dialogueState.firstTalk[name] = false;



                    if (autoTalk)
                    {
                        txtBox.ContinueDialogue();
                    }
                }
                else
                {
                    if (_name.Equals("Wilson"))
                    {
                        trialBox = FindObjectOfType <TrialScript>();
                        trialBox.trialDialogue(-1);
                        trialBox.gameObject.SetActive(true);
                    }
                    else
                    {
                        txtBox.ReloadScript(defaultDialogueFile);
                        txtBox.ContinueDialogue();
                    }
                }
            }
        }
        else
        {
            return;
        }
        PersistenceController.instance.dialogueState.autoTalk = false;
    }
    void OnTriggerStay2D(Collider2D other)
    {
        if (other.gameObject.CompareTag("Player") && (PersistenceController.instance.dialogueState.autoTalk))
        {
            sr      = GetComponent <SpriteRenderer>();
            _sprite = sr.sprite;
            print(getSprite());
            txtBox.setSprite(getSprite());
            txtBox.setNPCname(_name);
            if (!currentlyTalking)
            {
                currentlyTalking = true;
                txtBox.IdentifyNPC(this);
                Debug.Log(name);

                if (PersistenceController.instance.dialogueState.firstTalk[name])
                {
                    txtBox.ReloadScript(initialDialogueFile);
                    if (PersistenceController.instance.dialogueState.currentLine.ContainsKey(name) &&
                        PersistenceController.instance.dialogueState.firstTalk[name] == true)
                    {
                    }
                    else
                    {
                        PersistenceController.instance.dialogueState.firstTalk[name] = false;
                    }


                    if (autoTalk)
                    {
                        txtBox.ContinueDialogue();
                    }
                }
                else
                {
                    if (_name.Equals("Wilson"))
                    {
                        trialBox = FindObjectOfType <TrialScript>();
                        trialBox.trialDialogue(-1);
                        trialBox.gameObject.SetActive(true);
                    }
                    else
                    {
                        txtBox.ReloadScript(defaultDialogueFile);
                    }
                }
            }
            else
            {
                return;
            }
            PersistenceController.instance.dialogueState.autoTalk = false;
        }
    }
Exemple #3
0
    private string currentTab; // should be null at the start, but currently inventory displays on beginning

    // Use this for initialization, register all child buttons of the inventory panel with a listener
    void Start()

    {
        trial             = FindObjectOfType <TrialScript>();
        inventoryTabImage = GameObject.FindGameObjectWithTag("InventoryTab").GetComponent <Image>();
        journalTabImage   = GameObject.FindGameObjectWithTag("JournalTab").GetComponent <Image>();
        Button[] btn = GetComponentsInChildren <Button>();
        for (int i = 0; i < btn.Length; i++)
        {
            btn[i].onClick.AddListener(TaskOnClick);
        }
    }
    /// <summary>
    /// Initialise fields. Set up dialgoue box
    /// </summary>
    void Start()
    {
        trialBox = FindObjectOfType <TrialScript>();
        NPC      = FindObjectOfType <NPCController>();
        journal  = FindObjectOfType <Journal>();
        notNPC   = true;
        // Load the initial dialogue txt file (if there is one)
        ReloadScript(txtFile);

        if (dialogBoxActive)
        {
            textBox.SetActive(true);
        }
        else
        {
            textBox.SetActive(false);
        }
    }