public override bool canMerge(PieceType pieceType) { if (!(pieceType is NumberedPieceType)) { return(false); } NumberedPieceType numberedPieceType = pieceType as NumberedPieceType; return(numberedPieceType.getNumber() == getNumber()); }
public override PieceType mergeResult(PieceType pieceType) { if (!(pieceType is NumberedPieceType)) { return(pieceType); } NumberedPieceType numberedPieceType = (NumberedPieceType)pieceType.clone(); numberedPieceType.setNumber(numberedPieceType.getNumber() + 1); return(numberedPieceType); }
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)); }