コード例 #1
0
        void Start()
        {
            _thisTog.onValueChanged.AddListener((result) =>
            {
                if (_thisTog.isOn && isFirstSelect)
                {
                    ESelectStartColor selectStartColor = BoardManage.instance.presentPieces.eSelectSide;
                    var _remove = selectStartColor.Equals(ESelectStartColor.FirstColor) ? BoardManage.instance.chessManage.allPiecesFirstPlayers.Remove(BoardManage.instance.presentPieces) : BoardManage.instance.chessManage.allPiecesSecondPlayers.Remove(BoardManage.instance.presentPieces);
                    BoardManage.instance.presentTargetBox.ClearChild();
                    BasePieces _piece  = Instantiate(SelectPieces(), BoardManage.instance.presentTargetBox.transform);
                    _piece.eSelectSide = selectStartColor;

                    if (selectStartColor.Equals(ESelectStartColor.FirstColor))
                    {
                        _piece.meshRdr.material = BoardManage.instance.firstPlayerMat;
                        BoardManage.instance.chessManage.allPiecesFirstPlayers.Add(_piece);
                    }
                    else
                    {
                        _piece.meshRdr.material = BoardManage.instance.secondPlayerMat;
                        BoardManage.instance.chessManage.allPiecesSecondPlayers.Add(_piece);
                    }
                    EnchantPawn.CallBackSelectEnchant?.Invoke(false);
                }
                isFirstSelect = result;
            });
        }
コード例 #2
0
 public void OnPointerClick(PointerEventData eventData)
 {
     if (!isClick && BoardManage.instance.eTurnPlayer.Equals(eSelectSide))
     {
         isClick          = !isClick;
         meshRdr.material = eSelectSide.Equals(ESelectStartColor.FirstColor) ? BoardManage.instance.selectionFirstMat : BoardManage.instance.selectionSecondMat;
         BoardManage.instance.subBoardMovePieces.CheckMovePieces(ePieces, eSelectSide, GetComponentInParent <BoxManage>().slot);
         BoardManage.instance.presentPieces?.DefaulValue();
         BoardManage.instance.presentPieces = this;
     }
 }
コード例 #3
0
        void PawnMove()
        {
            PawnMoveSlot(_side.Equals(ESelectStartColor.FirstColor) ? _slot.x + 1 : _slot.x - 1);
            if (BoardManage.instance.detailBoxes[_slot.x].boxManages[_slot.y].GetPieces().isFirstMove)
            {
                PawnMoveSlot(_side.Equals(ESelectStartColor.FirstColor) ? _slot.x + 2 : _slot.x - 2, false);
            }

            void PawnMoveSlot(int slotX, bool isEat = true)
            {
                int _slotPlayer = slotX;

                if (BoardManage.instance.detailBoxes.CheckOutOfRange(_slotPlayer))
                {
                    // Up
                    if (BoardManage.instance.detailBoxes[_slotPlayer].boxManages[_slot.y].transform.childCount <= 0)
                    {
                        _allSlot.Add(new Vector2Int(_slotPlayer, _slot.y));
                    }
                    // Left
                    if (BoardManage.instance.detailBoxes[_slotPlayer].boxManages.CheckOutOfRange(_slot.y - 1) && isEat)
                    {
                        var _piece = BoardManage.instance.detailBoxes[_slotPlayer].boxManages[_slot.y - 1].GetPieces();
                        if (BoardManage.instance.detailBoxes[_slotPlayer].boxManages[_slot.y - 1].transform.childCount > 0 && _piece != null && !_piece.eSelectSide.Equals(_side))
                        {
                            _allSlot.Add(new Vector2Int(_slotPlayer, _slot.y - 1));
                        }
                    }
                    // Right
                    if (BoardManage.instance.detailBoxes[_slotPlayer].boxManages.CheckOutOfRange(_slot.y + 1) && isEat)
                    {
                        var _piece = BoardManage.instance.detailBoxes[_slotPlayer].boxManages[_slot.y + 1].GetPieces();
                        if (BoardManage.instance.detailBoxes[_slotPlayer].boxManages[_slot.y + 1].transform.childCount > 0 && _piece != null && !_piece.eSelectSide.Equals(_side))
                        {
                            _allSlot.Add(new Vector2Int(_slotPlayer, _slot.y + 1));
                        }
                    }
                }
            }
        }