// -------------------------------------------------------------------------------
        // ShowPrompt
        // -------------------------------------------------------------------------------
        public void ShowPrompt(UIState source, bool Party, bool AliveOnly, RankTargetType rankTargetType = RankTargetType.All)
        {
            selectedCharacters = new CharacterBase[Constants.MAX_PARTY_MEMBERS];
            sourceState        = source;
            party     = Party;
            aliveOnly = AliveOnly;

            foreach (Transform t in content)
            {
                Destroy(t.gameObject);
            }

            if (party)
            {
                // -- Iterate and Add party members
                foreach (CharacterBase character in Finder.party.characters)
                {
                    if ((character.IsRearguard && rankTargetType == RankTargetType.Rear || !character.IsRearguard && rankTargetType == RankTargetType.Front || rankTargetType == RankTargetType.All) && (aliveOnly && character.IsAlive) || !aliveOnly)
                    {
                        GameObject            newObj = (GameObject)Instantiate(buttonPrefab, content);
                        ButtonCharacterSelect button = newObj.GetComponent <ButtonCharacterSelect>();
                        button.Initialize(this, character);
                    }
                }
            }
            else
            {
                // -- Iterate and Add enemies
                foreach (CharacterBase character in Finder.battle.monsterParty.characters)
                {
                    if ((character.IsRearguard && rankTargetType == RankTargetType.Rear || !character.IsRearguard && rankTargetType == RankTargetType.Front || rankTargetType == RankTargetType.All) && (aliveOnly && character.IsAlive) || !aliveOnly)
                    {
                        GameObject            newObj = (GameObject)Instantiate(buttonPrefab, content);
                        ButtonCharacterSelect button = newObj.GetComponent <ButtonCharacterSelect>();
                        button.Initialize(this, character);
                    }
                }
            }

            // -- Add the Cancel button

            GameObject cancelObj = (GameObject)Instantiate(buttonPrefab, content);

            cancelObj.GetComponentInChildren <Text>().text = Finder.txt.buttonNames.cancel;
            ButtonCharacterSelect cancelButton = cancelObj.GetComponent <ButtonCharacterSelect>();

            cancelButton.icon.sprite    = Finder.fx.cancelButtonIcon;
            cancelButton.selectionPanel = this;
            cancelButton.characterBase  = null;

            gameObject.SetActive(true);

            StartCoroutine(ShowSelection());
        }
예제 #2
0
 // -------------------------------------------------------------------------------
 // Prompt
 // -------------------------------------------------------------------------------
 public void Prompt(UIState sourceState, bool party, bool alive, RankTargetType rankTargetType = RankTargetType.All)
 {
     selectionPanel.ShowPrompt(sourceState, party, alive, rankTargetType);
     StartCoroutine(WaitForPromptSelection());
 }