コード例 #1
0
    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();
    }
コード例 #2
0
    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);
        }
    }