示例#1
0
    public void SetSelectionPrompt(CardEffectDescription effectDescription, int index = -1)
    {
        if (selectingTextPrompt != null)
        {
            if (effectDescription != null)
            {
                string selectMessage = ((index < 0) ? "" : "<sprite=" + index + "> ");
                selectMessage += effectDescription.CardText();

                /*
                 * selectMessage += "Select ";
                 * if (effectDescription.targettingType.targettingType != TargettingType.EXCEPT)
                 * {
                 *  selectMessage += effectDescription.targettingType.CardText() + " that ";
                 * }
                 * else
                 * {
                 *  ExceptTargetDescription exceptDesc = effectDescription.targettingType as ExceptTargetDescription;
                 *  ITargettingDescription targetDesc = exceptDesc.targetDescription;
                 *
                 *  selectMessage += exceptDesc.targetDescription.CardText() + " that " + (targetDesc.RequiresPluralEffect() ? "does not " : "do not ");
                 * }
                 * selectMessage += effectDescription.effectType.CardText(effectDescription.targettingType.RequiresPluralEffect());
                 */

                selectingTextPrompt.SetText(selectMessage);
                selectingTextPrompt.gameObject.SetActive(true);
            }
        }
    }
示例#2
0
    public void SetData(Targettable entity, Card c, TriggerCondition trigger, Targettable[][] targets = null)
    {
        source.cardData   = c.cardData.Clone();
        source.controller = c.controller;
        sourceEntity      = entity;

        if (c.cardData.GetImage() && icon)
        {
            Sprite[] sprites = Resources.LoadAll <Sprite>(GameConstants.PATHS.CARD_IMAGES + c.cardData.GetImage().name);
            icon.sprite = sprites[1];
        }

        if (textPrompt != null)
        {
            string effectMessage = "";
            int    targetsIndex  = 0;
            foreach (CardEffectDescription desc in source.cardData.GetEffectsOnTrigger(trigger))
            {
                if (desc.targettingType.RequiresSelection())
                {
                    effectMessage += "<sprite=" + targetsIndex + "> ";
                    targetsIndex++;
                }
                effectMessage += desc.CardText() + '\n';
            }
            textPrompt.SetText(effectMessage);
        }

        triggerCondition = trigger;
        targetList       = targets;

        if (source.controller.isLocalPlayer)
        {
            border.color = allyColor;
        }
        else
        {
            border.color = enemyColor;
        }
    }