private void OnDestroy()
 {
     StopAllCoroutines();
     DataManager.instance.userData.RemoveTotalBetInGameInfo(IMiniGameInfo.Type.DragonTigerCasino);
     dragonTigerCasinoData = null;
     DragonTiger_RealTimeAPI.SelfDestruction();
     instance = null;
 }
    public override void InitData(bool _isFullScreen, bool _connectFirst, System.Action _onFinished = null)
    {
        currentGameState = GameState.Bet;

        panelUserInGame.InitData();
        iconNotificationChat.SetActive(false);

        effectPoolManager     = new MySimplePoolManager();
        listProcessPlaying    = new List <IEnumerator>();
        listProcessNonPlaying = new List <IEnumerator>();

        screenChat = ((GameObject)Instantiate(screenChatPrefab, transform)).GetComponent <ScreenChatController>();

        isFullScreen = _isFullScreen;
        if (isFullScreen)
        {
            ratioScale             = 1f;
            myContainer.localScale = Vector3.one * ratioScale;
            btnClose.gameObject.SetActive(false);
            btnMiniGame.SetActive(true);
            btnShop.SetActive(true);
            btnSetting.SetActive(true);
            btnChat.SetActive(true);
        }
        else
        {
            ratioScale             = 0.8f;
            myContainer.localScale = Vector3.one * ratioScale;
            btnClose.gameObject.SetActive(true);
            btnClose.transform.position = btnClose_PlaceHolder.position;

            Vector3 _tmpPosUserInfo = panelUserInGame.transform.position;
            _tmpPosUserInfo.x -= 0.4f;
            panelUserInGame.transform.position = _tmpPosUserInfo;

            btnMiniGame.SetActive(false);
            btnShop.SetActive(false);
            btnSetting.SetActive(true);
            btnChat.SetActive(true);
        }

        posistionSpawnCard    = CoreGameManager.instance.currentSceneManager.mainCamera.transform.position;
        posistionSpawnCard.y += CoreGameManager.instance.currentSceneManager.mainCamera.sizeOfCamera.y / 2 + 3f;
        posistionSpawnCard.z  = 0f;

        cardDragon = null;
        cardTiger  = null;

        dragonTigerCasinoData = new DragonTigerCasinoData();

        panelListChip.InitData();

        StartCoroutine(DoActionRun(_connectFirst, _onFinished));
    }
Beispiel #3
0
        public DragonTiger_Result_Data(MessageReceiving _mess, DragonTigerCasinoData _dragonTigerCasinoData)
        {
            cardDragon = _mess.readByte();
            cardTiger  = _mess.readByte();
            caseCheck  = _mess.readByte();

            // ***Xét trường hợp:
            // caseCheck=69  : không đặt cược
            // caseCheck=1  : xử lý game thành công
            //  long gold_Limit : tổng cược
            //  long gold_Win : tiền xử lý
            //  long goldAdd : tiền được cộng do server xử lý
            //  long GOLD
            //  int achievement (dựa vào gold_Win)
            // caseCheck=-99 : lỗi serverGold
            // caseCheck=-88 : lỗi không đủ tiền cược ⟶ đọc tiếp
            //  long gold_Limit : tổng tiền đã đặt
            //  long GOLD

            switch (caseCheck)
            {
            case 1:             // xử lý game thành công
                gold_Limit  = _mess.readLong();
                goldProcess = _mess.readLong();
                long goldAdd = _mess.readLong();
                GOLD        = _mess.readLong();
                achievement = _mess.readInt();
                betUnit     = gold_Limit + goldProcess;
                                #if TEST
                Debug.Log(">>> " + gold_Limit + "|" + goldProcess + "|" + goldAdd + "|" + GOLD + "|" + achievement + "|" + betUnit);
                                #endif
                break;

            case 69:             // không đặt cược
                                #if TEST
                Debug.LogError("Người chơi đang không đặt cược");
                                #endif
                GOLD = DataManager.instance.userData.gold;
                break;

            case -99:             // lỗi serverGold
                                #if TEST
                Debug.LogError("Lỗi serverGold");
                                #endif
                GOLD = DataManager.instance.userData.gold;
                break;

            case -88:             // lỗi không đủ tiền cược khi cược đồng thời ở 2 thiết bị khác nhau, ở 2 sv khác nhau
                                #if TEST
                Debug.LogError("lỗi không đủ tiền cược khi cược đồng thời ở 2 thiết bị khác nhau, ở 2 sv khác nhau.");
                                #endif
                gold_Limit = _mess.readLong();
                GOLD       = _mess.readLong();
                break;

            default:
                                #if TEST
                Debug.LogError("Lỗi không xác định : " + caseCheck);
                                #endif
                GOLD = DataManager.instance.userData.gold;
                break;
            }

            nextTimeToShowResult = System.DateTime.Now.AddMilliseconds(_dragonTigerCasinoData.duringTime);
        }