Exemplo n.º 1
0
        public void Execute(CardData cardData, int choice, ChoiceData chMeta, bool me, int time, PlayerManager enemy)
        {
            if (Services.data.CheckConditions(chMeta.conditions, time, false, me))
            {
                List <RewardData> result = new List <RewardData> ();
                Services.data.GetResourceReward(result, chMeta.reward, chMeta.cost, time, true, false, me);
                foreach (RewardData r in result)
                {
                    if (r.count > 0)
                    {
                        if (r.enemy)
                        {
                            enemy.AddResource(r.id, r.count);
                        }
                        else
                        {
                            AddResource(r.id, r.count);
                        }
                    }
                    else
                    {
                        if (r.enemy)
                        {
                            enemy.SubResource(r.id, Math.Abs(r.count));
                        }
                        else
                        {
                            SubResource(r.id, Math.Abs(r.count));
                        }
                    }
                }
            }

            CardExecutedItem cardVO = playerData.cards.Find(c => c.id == cardData.id);

            if (cardVO == null)
            {
                cardVO = new CardExecutedItem();
                playerData.cards.Add(cardVO);
            }

            cardVO.id       = cardData.id;
            cardVO.choice   = choice;
            cardVO.executed = time;
            SaveCardLocal(cardVO);

            enemy.OnProfileUpdated?.Invoke();
            OnProfileUpdated?.Invoke();

            //only for me
            if (this == Services.player)
            {
                Services.network.AddRequestToPool(new RequestVO("choise"));
            }
        }
Exemplo n.º 2
0
 private void SaveCardLocal(CardExecutedItem card)
 {
 }
Exemplo n.º 3
0
        public CardExecutedItem GetExecutedCard(int id)
        {
            CardExecutedItem card = playerData.cards.Find(c => c.id == id);

            return(card);
        }