private void ProcessOpponentOperationAction(string operationId, CardCodename cardCodename) { // instantiate Operation operation = (Operation)CardFactory.CreateCard(cardCodename, operationId); _game.Opponent.ChangeClicks(-1); _game.Opponent.ChangeCredits(-operation.BaseCost); _game.Opponent.Hand.RemoveAt(0); if (operation.OnPlay != null) { operation.OnPlay(_game, _game.Opponent); } if (operation.OperationType == OperationType.ONESHOT) { _game.Opponent.Discard.Add(operation); } else { _game.Opponent.OngoingOperations.Add(operation); GameViewController.AddOperation(operation, false); } // log GameViewController.AddGameLogMessage(string.Format("<b>{0}</b> plays {1}", _game.Opponent.Name, operation.CardName)); }