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; } }
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); } }