protected virtual void OnLastPieceRemovedFromPlay(LastPieceRemovedFromPlayEventArgs e) { EventHandler <LastPieceRemovedFromPlayEventArgs> handler = LastPieceRemovedFromPlay; if (handler != null) { handler(this, e); } }
/// <summary> /// Move a GamePiece to this player's pool. /// </summary> /// <param name="piece">The piece to be pooled.</param> /// <param name="animateMovement">Whether or not movement to pool should be instantaneous or animated.</param> public void MoveGamePieceToPool(GamePiece piece) { piecesInPlay.Remove(piece); piece.transform.parent = piecesInPoolParent; piece.MoveOffBoard(piecesInPoolParentPostion, true); AddMovingPiece(piece); piece.MoveComplete += Piece_MovedToPool; if (piecesInPlay.Count == 0) { if (lastPieceRemovedFromPlayEventArgs == null) { lastPieceRemovedFromPlayEventArgs = new LastPieceRemovedFromPlayEventArgs(this); } OnLastPieceRemovedFromPlay(lastPieceRemovedFromPlayEventArgs); } }