public override void Draw()
        {
            Entities.Effect_Entity EffectEntity = (Entities.Effect_Entity)mEntity;

            Effects.Effect effect = EffectEntity.GetEffect();

            UnityCard.transform.Find("Card").Find("CardName").gameObject.GetComponent <Text>().text = mEntity.Name;

            UnityEngine.Transform cardTextTransform = UnityCard.transform.Find("Card").Find("CardText");
            if (cardTextTransform != null)
            {
                UnityEngine.UI.Text cardText = cardTextTransform.gameObject.GetComponent <Text>();

                if (EffectEntity.IsPlaced)
                {
                    if (effect.GetEffectType() == Assets.GameCode.Cards.Effects.EffectType.Order ||
                        effect.GetEffectType() == Assets.GameCode.Cards.Effects.EffectType.OrderWithUses)
                    {
                        cardText.text = ((Effects.Orders.Order)effect).IsOrderUsed() ? "Order used this turn" :
                                        "Order not used this turn";
                    }
                    if (effect.GetEffectType() == Assets.GameCode.Cards.Effects.EffectType.OrderWithUses)
                    {
                        // TODO - Might need to worry about the action index?
                        // Just assume only zero for now.
                        cardText.text = cardText.text + "\nNumber of charges: " +
                                        ((Effects.Orders.OrderWithUses)effect).GetNumUses(0);
                    }
                }
                else
                {
                    cardText.text = "";
                }
            }
        }
Beispiel #2
0
 public override void Execute(Entities.Entity Performer, List <Entities.Entity> Selection, CardGameState GS)
 {
     if (Selection != null)
     {
         foreach (Entity entity in Selection)
         {
             PerformBuffOnEntity(entity);
         }
     }
     if (mAddSelfToSelection)
     {
         PerformBuffOnEntity(Performer);
     }
     Performer.Owner.SpendCP(GetMinCost());
     if (mIsOrder)
     {
         Entities.Effect_Entity effectEntity = (Entities.Effect_Entity)Performer;
         Effects.Orders.Order   order        = (Effects.Orders.Order)(effectEntity.GetEffect());
         order.OrderUsed();
     }
 }
        public override void Execute(Entities.Entity Performer, List <Entities.Entity> Selection, CardGameState GS)
        {
            Entities.Effect_Entity performerEffectEntity = (Entities.Effect_Entity)Performer;
            performerEffectEntity.Owner.SpendCP(GetMinCost());

            int numSalvos = 0;

            foreach (CardZone CZ in performerEffectEntity.Owner.mBoard.RangeZones)
            {
                foreach (Entities.Entity E in CZ.List.Cards)
                {
                    Entities.Unit U = (Entities.Unit)E;
                    if (U.IsClass("Bow") && U.IsClass("Infantry"))
                    {
                        numSalvos += 1;
                    }
                }
            }

            Effects.Orders.OrderWithUses order = (Effects.Orders.OrderWithUses)(performerEffectEntity.GetEffect());
            order.SetUses(mActionIndex, numSalvos);
            order.OrderUsed();
        }
 public override bool Check(Entities.Entity entity)
 {
     Entities.Effect_Entity effectEntity = (Entities.Effect_Entity)entity;
     Effects.Orders.Order   order        = (Effects.Orders.Order)(effectEntity.GetEffect());
     return(!order.IsOrderUsed());
 }
 public override bool IsAvailable(Entities.Entity Performer)
 {
     Entities.Effect_Entity effectEntity = (Entities.Effect_Entity)Performer;
     Effects.Orders.Order   order        = (Effects.Orders.Order)effectEntity.GetEffect();
     return(order.IsAvailable());
 }