private void DiscardCard() { var thoughts = new List <string>(); Card card = PlayerUtil.GetCardToDiscard(HandCardSpot.Objects, singleLayDownCards, HasLaidDown, ref thoughts); thoughts.ForEach(t => NewThought.Invoke(t)); State = PlayerState.DISCARDING; HandCardSpot.RemoveCard(card); card.MoveFinished.AddListener(DiscardCardMoveFinished); card.MoveCard(Tb.I.DiscardStack.transform.position, Tb.I.GameMaster.AnimateCardMovement); }