void Start() { if (ePieces.Equals(EPieces.King)) { gameObject.AddComponent <KingCheck>(); } }
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(); } } }