public void HandleJoinGame(object[] data)
    {
        UILayerController.Instance.HideLoading();

        string json = LitJson.JsonMapper.ToJson(data[0]);
        SRSSlot20LineAccount account = JsonUtility.FromJson <SRSSlot20LineAccount>(json);

        Init(_config, _server, account, _assetBundleConfig, roomBetIdNew, moneyTypeNew);
    }
    public void HandleJoinGame(object[] data)
    {
        UILayerController.Instance.HideLoading();

        string json = LitJson.JsonMapper.ToJson(data[0]);
        SRSSlot20LineAccount account = JsonUtility.FromJson <SRSSlot20LineAccount>(json);

        _server.OnSRSEvent    = null;
        _server.OnSRSHubEvent = null;

        UILayerController.Instance.ShowLayer(UILayerKey.LGameSlot20Line, _assetBundleConfig.name, (layer) =>
        {
            ClearUI();
            ((LGameSlot20Line)layer).Init(_config, _server, account, _assetBundleConfig, roomIdSelected, moneyType);
        });
    }
    public void Init(SRSSlot20LineConfig config, Slot20lineSignalRServer server, SRSSlot20LineAccount account, AssetBundleSettingItem assetBundleConfig, int roomId, int mType)
    {
        _config = config;

        ClearUI();

        _server               = server;
        _server.OnSRSEvent    = OnSRSEvent;
        _server.OnSRSHubEvent = OnSRSHubEvent;

        _assetBundleConfig = assetBundleConfig;
        _settingSound      = AudioAssistant.Instance.GetSettingSound(_config.gameId);

        this.accountSpin = account;
        this.accountInfo = Database.Instance.Account();

        this.roomBetId    = roomId;
        this.moneyType    = mType;
        this.roomBetValue = accountSpin.RoomBetValue(roomBetId);

        txtRomBet.SetNumber(roomBetValue);

        SetNotifyFree();
        SetLineSelected(account.GetLineData());

        // event
        OnEventUpdate();

        // update jackpot
        if (_server.jackpots.ContainsKey(roomBetId.ToString()))
        {
            jackpot = _server.jackpots[roomBetId.ToString()];
            UpdateJackpot();
        }

        // Set data
        imgIconMoney.sprite = sprIconMoney[moneyType == MoneyType.GOLD ? 0 : 1];
        vkTxtMyMoney.SetNumber(accountInfo.GetCurrentBalance(moneyType));

        // finish bonus
        if (account.BonusId > 0)
        {
            _server.HubCallFinishBonusGame(moneyType, account.BonusId);
        }
    }