protected override bool Validate()
        {
            bool valid = true;

            if (!Coord.IsValid(AllyPos) || !Coord.IsValid(Target))
            {
                ErrorMsg = INVALID_POS;
                valid    = false;
            }
            else if (CurPlayer == null)
            {
                ErrorMsg = PLAYER;
                valid    = false;
            }
            else if (CurPlayer.GetPawnAt(AllyPos) == null)
            {
                ErrorMsg = NO_PAWN;
                valid    = false;
            }
            else if (!Boards.CellAt(Target).Equals(BoardConsts.EMPTY))
            {
                ErrorMsg = OCCUPIED_CELL;
                valid    = false;
            }
            return(valid);
        }