Example #1
0
    void Start()
    {
        LoadLevel();

        DiagonlSwapHandle();//对角的回调

        boardController.swipeHandler = (Swap swap) =>
        {
            boardController.userInteractionEnabled = false;
            levelUIController.SetShuffleButtonInteractable(false);

            if (level.IsPossibleSwap(swap))
            {
                //交换(数据)
                level.PerformSwap(swap);

                //交换(显示)
                boardController.AnimateSwap(swap, () =>
                {
                    //匹配消除链
                    HandleMatches();
                });
            }
            else
            {
                boardController.AnimateInvalidSwap(swap, () =>
                {
                    boardController.userInteractionEnabled = true;
                    levelUIController.SetShuffleButtonInteractable(true);
                });
            }
        };

        levelUIController.ShuffleButtonAction = () =>
        {
            //洗牌
            Shuffle();

            //显示减少重洗的次数
            DecrementMoves();
        };

        StartGame();
    }