/// <summary> /// 駒打ちの処理を開始します。 /// </summary> private void BeginDropPiece(PieceObject pieceObject) { var piece = pieceObject.Piece; if (!CanBeginMove(piece.BWType)) { return; } if (GetCapturedPieceCount(piece.PieceType, piece.BWType) <= 0) { return; } // 表示用の駒を追加します。 this.movingPiece = new PieceObject(this, piece); AddPieceObject(this.movingPiece); if (EditMode != EditMode.Editing && EffectManager != null) { EffectManager.BeginMove(null, piece); } InManipulating = true; }
/// <summary> /// 駒の移動を開始します。 /// </summary> private void BeginMovePiece(BoardPiece piece, Square square) { if (!CanBeginMove(piece.BWType)) { return; } this.movingPiece = new MovingPiece(piece, square); if (EditMode != EditMode.Editing && EffectManager != null) { EffectManager.BeginMove(square, piece); } InManipulating = true; }
/// <summary> /// 駒の移動を開始します。 /// </summary> private void BeginMovePiece(PieceObject pieceObject) { if (!CanBeginMove(pieceObject.Piece.BWType)) { return; } this.movingPiece = pieceObject; // 描画順を変えます。 this.pieceContainer.Children.Remove(pieceObject.ModelGroup); this.pieceContainer.Children.Add(pieceObject.ModelGroup); if (EditMode != EditMode.Editing && EffectManager != null) { EffectManager.BeginMove(pieceObject.Square, pieceObject.Piece); } InManipulating = true; }
/// <summary> /// 駒打ちの処理を開始します。 /// </summary> private void BeginDropPiece(BoardPiece piece) { if (!CanBeginMove(piece.BWType)) { return; } if (GetHandCount(piece.PieceType, piece.BWType) <= 0) { return; } // 表示用の駒を追加します。 this.movingPiece = new MovingPiece(piece, null); if (EditMode != EditMode.Editing && EffectManager != null) { EffectManager.BeginMove(null, piece); } InManipulating = true; }