public IEnumerator StartFightCoroutine(PlayerCharacter characterA, EnemyCharacter characterB) { if (isFighting) { yield break; } isFighting = true; canvas.SetActive(true); previousMusic = music.clip; music.clip = battleMusic; music.Play(); talkTier = 0; player = characterA; enemy = characterB; egoText.text = player.ego.ToString(); egoEnemyText.text = enemy.ego.ToString(); DisplayItems(player); enemyImage.sprite = enemy.texture; GameObject panel = abilityMenuObject.GetComponentInChildren <GridLayoutGroup> ().gameObject; foreach (ItemType ability in player.abilityList) { GameObject go = Instantiate(buttonPrefab); go.transform.SetParent(panel.transform); ButtonController bc = go.GetComponent <ButtonController> (); bc.InitButton(ability.ToString(), ability, this); } //textObject.text = string.Format ("You pick a fight with {0}!", enemy.characterName); textDisplayObject.SetText(string.Format("You pick a fight with {0}!", enemy.characterName)); if (OpenSound != null) { AudioSource.PlayClipAtPoint(OpenSound, Camera.main.transform.position); } Fader.FadeIn(Color.black, fadeInTime); yield return(WaitForInput()); //new WaitForSeconds (2f); yield return(StartCoroutine(textDisplayObject.DisplayTextCoroutine(enemy.data.intros, enemy.color))); DisplayFightMenu(); }
public IEnumerator SelectTalkCoroutine() { List <ReplyData> replies = new List <ReplyData> (enemy.data.conversations [talkTier].replies); replies.Shuffle(); //talkMenuText.text = ""; talkMenuTextDisplay.ClearText(); talkMenuObject.SetActive(true); yield return(StartCoroutine(talkMenuTextDisplay.DisplayTextCoroutine(enemy.data.conversations [talkTier].prompt, enemy.color))); foreach (ReplyData reply in replies) { GameObject go = Instantiate(buttonPrefab); go.transform.SetParent(talkMenuButtonsObject.transform); ButtonController bc = go.GetComponent <ButtonController> (); bc.InitButton(reply.text, reply, this); } }