Exemple #1
0
    protected virtual void OnLastPieceRemovedFromPlay(LastPieceRemovedFromPlayEventArgs e)
    {
        EventHandler <LastPieceRemovedFromPlayEventArgs> handler = LastPieceRemovedFromPlay;

        if (handler != null)
        {
            handler(this, e);
        }
    }
Exemple #2
0
    /// <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);
        }
    }