示例#1
0
        public override bool canMerge(PieceType pieceType)
        {
            if (!(pieceType is NumberedPieceType))
            {
                return(false);
            }

            NumberedPieceType numberedPieceType = pieceType as NumberedPieceType;

            return(numberedPieceType.getNumber() == getNumber());
        }
示例#2
0
        public override PieceType mergeResult(PieceType pieceType)
        {
            if (!(pieceType is NumberedPieceType))
            {
                return(pieceType);
            }

            NumberedPieceType numberedPieceType = (NumberedPieceType)pieceType.clone();

            numberedPieceType.setNumber(numberedPieceType.getNumber() + 1);
            return(numberedPieceType);
        }
示例#3
0
        public override PieceType mergeResult(PieceType pieceType)
        {
            if (pieceType is IncrementerPieceType)
            {
                return(pieceType.mergeResult(this));
            }

            if (!(pieceType is NumberedPieceType))
            {
                return(new StandardPieceType(getNumber() + 1));
            }

            NumberedPieceType numberedPieceType = pieceType as NumberedPieceType;

            return(new StandardPieceType(Mathf.Max(numberedPieceType.getNumber(), getNumber()) + 1));
        }