ctac.ActionUnsummonPieceCommand.Execute C# (CSharp) Method

Execute() public method

public Execute ( ) : void
return void
        public override void Execute()
        {
            if (!processedActions.Verify(unsummonedPiece.id)) return;

            var piece = pieces.Piece(unsummonedPiece.pieceId);

            if (piece == null)
            {
                debug.LogWarning(string.Format("Could not find piece with id {0} to unsummon", unsummonedPiece.pieceId), socketKey);
                return;
            }

            pieceUnsummoned.Dispatch(unsummonedPiece);

            var pieceView = piece.gameObject.GetComponent<PieceView>();

            animationQueue.Add(
                new PieceView.UnsummonAnim()
                {
                    piece = pieceView,
                    pieceDied = pieceDied
                }
            );

            var DeckGO = GameObject.Find("Deck");
            var newCardModel = cardDirectory.NewFromTemplate(unsummonedPiece.cardId, piece.cardTemplateId, piece.playerId);

            cardService.CreateCard(newCardModel, DeckGO.transform);

            cardService.SetupGameObject(newCardModel, newCardModel.gameObject);
            newCardModel.SetCardInPlay(contextView);

            cardDrawn.Dispatch(newCardModel);

            debug.Log(string.Format("Piece {0} charmed", unsummonedPiece.pieceId), socketKey);
        }
ActionUnsummonPieceCommand