Example #1
0
    IEnumerator DoActionRun(bool _connectFirst, System.Action _onFinished = null)
    {
        yield return(null);

        panelLoading.SetActive(true);

        StartCoroutine(ResizeEverythingAgain());

        InitAllCallback();

        actionRunProcessPlaying = DoActionRunProcessPlaying();
        StartCoroutine(actionRunProcessPlaying);

        actionRunProcessNonPlaying = DoActionRunProcessNonPlaying();
        StartCoroutine(actionRunProcessNonPlaying);

        actionCheckFocusIconGetGold = DoActionCheckFocusIconGetGold();
        StartCoroutine(actionCheckFocusIconGetGold);

        NetworkGlobal.instance.SetProcessRealTime(CMD_REALTIME.S_MINIGAME_BAUCUA_GET_GAMEINFO, (_mess) => {
            koprokData.InitDataWhenGetTableInfo(_mess);
            if (_mess.avaiable() > 0)
            {
                                #if TEST
                Debug.Log(">>> Chua doc het CMD : " + _mess.getCMDName());
                                #endif
            }

            koprokData.CheckListHistoryAgain();

            AchievementDetail _achievementDetail = DataManager.instance.achievementData.GetAchievementDetail(IMiniGameInfo.Type.Koprok);
            if (_achievementDetail != null)
            {
                _achievementDetail.countWin  = koprokData.winAchievement;
                _achievementDetail.countDraw = koprokData.tieAchievement;
                _achievementDetail.countLose = koprokData.loseAchievement;
                // Debug.Log(koprokData.winAchievement + " - " + koprokData.tieAchievement + " - " + koprokData.loseAchievement);
            }

            RefreshUITableBet(true);

            RegisterActionUpdateResultGame();
            RegisterActionMeAddBet();
            RegisterActionUpdateTableBet();
            RegisterActionPlayerChat();
            RegisterActionPlayerAddGold();
            RegisterActionSetParentInfo();
            RegisterActionAlertUpdateServer();
        });
        if (_connectFirst)
        {
            GlobalRealTimeSendingAPI.SendMessageJoinToMiniGame(DataManager.instance.miniGameData.currentSubGameDetail.myInfo);
        }
        NetworkGlobal.instance.instanceRealTime.ResumeReceiveMessage();
        yield return(new WaitUntil(() => koprokData != null && koprokData.hasLoadGameInfo));

        panelLoading.SetActive(false);

        StartCountDown();

        MyAudioManager.instance.PlayMusic(myAudioInfo.bgm);

        onPressBack = () => {
            if (SettingScreenController.instance.currentState == UIHomeScreenController.State.Show)
            {
                MyAudioManager.instance.PlaySfx(GameInformation.instance.globalAudioInfo.sfx_Click);
                SettingScreenController.instance.Hide();
            }
            else
            {
                OnButtonSettingClicked();
            }
        };
        CoreGameManager.instance.RegisterNewCallbackPressBackKey(onPressBack);

        if (_onFinished != null)
        {
            _onFinished();
        }
    }