Exemplo n.º 1
0
 void Start()
 {
     if (ePieces.Equals(EPieces.King))
     {
         gameObject.AddComponent <KingCheck>();
     }
 }
Exemplo n.º 2
0
        IEnumerator IEEatPiece(EPieces ePieces, ESelectStartSide eSelectSide, Vector2Int slot)
        {
            ClearTemp();
            ClearNullList();
            yield return(new WaitForFixedUpdate());

            if (allPiecesFirstPlayers.Count(item => item) <= 0)
            {
                SideWin.CallBackSideWin?.Invoke(ESelectStartSide.SecondSide);
            }
            else if (allPiecesSecondPlayers.Count(item => item) <= 0)
            {
                SideWin.CallBackSideWin?.Invoke(ESelectStartSide.FirstSide);
            }
            else
            {
                if (isEatPiece)
                {
                    oldSlot = BoardManage.instance.presentTargetBox.slot;
                    yield return(new WaitForFixedUpdate());

                    yield return(StartCoroutine(BoardManage.instance.subBoardMovePieces.CheckChainingEat(ePieces, eSelectSide, slot)));
                }

                if (BoardManage.instance.presentTargetBox.isPawnEnchant && ePieces.Equals(EPieces.PawnHott))
                {
                    EnchantPawn.CallBackAutoEnchant?.Invoke();
                }
                else if (BoardManage.instance.checkersManage.CheckHaveEatPiece())
                {
                    BoardManage.instance.checkersManage.OffBoxInteraction(BoardManage.instance.eTurnPlayer);
                }
                else
                {
                    BoardManage.instance.presentPieces?.DefaulValue();
                    BoardManage.instance.SwichTurn();
                }
            }
        }