using UnityEngine; using System.Collections; using UnityEngine.UI; public class DialogueScript : MonoBehaviour { //Player reference GameObject player; PlayerMovementScript playerMovementScript; PlayerShootingScript playerShootingScript; //Single dialogue GameObject dialoguePanle; Text dialogueText; bool isDialogueActive; //Multi Dialogue bool isMultiDialogueActive; string[] multiDialogueText; int multiDialogueLength; int multiDialogueCounter; //Animator for DialoguePanel Animator anim; // for Boss1 public bool FromBoss1; void Awake() { dialoguePanle = GameObject.FindGameObjectWithTag("HUD").transform.Find("DialoguePanel").gameObject; anim = dialoguePanle.GetComponent(); player = GameObject.FindGameObjectWithTag("Player"); playerMovementScript = player.GetComponent(); playerShootingScript = player.GetComponentInChildren(); dialogueText = dialoguePanle.GetComponentInChildren(); dialogueText.text = ""; } void Start () { } void Update () { if (isDialogueActive && Input.GetButtonDown("Jump")) { anim.SetBool("isActive", false); //dialoguePanle.GetComponent().localScale = new Vector3(0, 0, 0); playerMovementScript.enabled = true; playerShootingScript.enabled = true; isDialogueActive = false; if (FromBoss1) { GameObject.FindGameObjectWithTag("Boss1FightHandler").GetComponent().StartBossFight(); } } if (isMultiDialogueActive && Input.GetButtonDown("Jump") && multiDialogueCounter <= multiDialogueLength) { if (multiDialogueCounter < multiDialogueLength) { dialogueText.text = multiDialogueText[multiDialogueCounter]; multiDialogueCounter++; } else if (multiDialogueCounter == multiDialogueLength) { anim.SetBool("isActive", false); playerMovementScript.enabled = true; playerShootingScript.enabled = true; isMultiDialogueActive = false; } } } public void ShowDialogue(string message) { isDialogueActive = true; playerMovementScript.StopPlayer(); playerMovementScript.enabled = false; playerShootingScript.enabled = false; dialogueText.text = message; anim.SetBool("isActive", true); } public void ShowMultiDialogue(string message) { isMultiDialogueActive = true; playerMovementScript.StopPlayer(); playerMovementScript.enabled = false; playerShootingScript.enabled = false; multiDialogueText = message.Split(new string[] {"\\n"},System.StringSplitOptions.None); multiDialogueLength = multiDialogueText.Length; multiDialogueCounter = 1; dialogueText.text = multiDialogueText[0]; anim.SetBool("isActive", true); } }