Ejemplo n.º 1
0
    public void MoveCard(CardActionOperation movingData)
    {
        var rule = _cardRules.SingleOrDefault(r => r.storageFrom == movingData.Storage);

        if (rule != null)
        {
            var actionRule = rule.storageRules.SingleOrDefault(r => r.actionOn == movingData.Action);
            if (actionRule != null)
            {
                actionRule.storageTo?.AddCard(movingData.Card);
                movingData.Storage.RemoveCard(movingData.Card);
            }
        }
        // else
        // {
        //     rule = _rules.rules.SingleOrDefault(r => r.storageFrom == null);
        //     if (rule != null)
        //     {
        //         var actionRule = rule.storageRules.SingleOrDefault(r => r.actionOn == movingData.Action);
        //         if (actionRule != null)
        //         {
        //             actionRule.storageTo.AddCard(movingData.Card);
        //             movingData.Storage.RemoveCard(movingData.Card);
        //         }
        //     }
        // }
    }
Ejemplo n.º 2
0
 public void BuyTask(CardActionOperation operationData)
 {
     if (operationData.Storage == cardPlace)
     {
         if (cardsPrices.ContainsKey(operationData.Card))
         {
             _spendMoneyChannel.RaiseEvent(cardsPrices[operationData.Card]);
             cardsPrices.Remove(operationData.Card);
             //remove card from prices
         }
     }
 }