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")); } }
private void SaveCardLocal(CardExecutedItem card) { }
public CardExecutedItem GetExecutedCard(int id) { CardExecutedItem card = playerData.cards.Find(c => c.id == id); return(card); }