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