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); // } // } // } }
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 } } }