Пример #1
0
    void Start()
    {
        ////////这边写了防止丢包
        //var threradLoom = Loom.Current;
        //Loom.RunAsync(() =>
        //{
        //    UdpClient.GetInstance().RecvRun();
        //    UdpClient.GetInstance().SendRun();
        //    Loom.QueueOnMainThread(() =>
        //    {
        //        UdpClient.GetInstance().RecvRun();
        //        UdpClient.GetInstance().SendRun();
        //    });
        //}
        //);

        TCPNetWork.GetInstance();

        AudioManager.Instance.Load();

        SDKManager.Instance.GetAnotherQuest();

        // 苹果支付 初始化
#if UNITY_IPHONE || UNITY_IOS
        IOSIAP.GetIns().InitIOSPurchaseItem();
#endif
        // 呀呀语音初始化
        int init = YunVaImSDK.instance.YunVa_Init(0, GlobalData.yayaAppid, Application.persistentDataPath, false, false);
        if (init != 0)
        {
            Debug.Log("呀呀语音初始化失败...");
        }
    }
Пример #2
0
    IEnumerator LoadSameIpView(LocalNotification args)
    {
        yield return(new WaitForSeconds(0.2f));

        ContextManager.Instance.Push(new SameIpViewContext());
        GameObject       gm  = UIManagers.Instance.GetSingleUI(UIType.SameIpView);
        ArgsSameIpPlayer msg = args.param as ArgsSameIpPlayer;

        Debug.Log("Texture---------");
        Debug.Log(leftHeadSpr.mainTexture);
        Debug.Log(rightHeadSpr.mainTexture);
        Debug.Log(topHeadSpr.mainTexture);
        Debug.Log(selfHeadSpr.mainTexture);
        gm.GetComponent <UISameIpView>().SetInfo(args, () => UpdateReadyGame(null), () =>
        {
            if (RoomInfo.Instance.IsCreater()) //房主,且不是aa的情况下,才凸显出房主的消息
            {
                TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_OUT_ROOM_BY_CREATER);
            }
            else
            {
                TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_OUT_ROOM_BY_PLAYER);
            }
        });
    }
Пример #3
0
    public override void AddServerCallBack()
    {
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_FKBZ, RoomKFBZ);
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_KF_SUC, RoomCreateSuccess);   //创建房间成功
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_PLAYER_OUT, RoomGDPlayerOut); //非房主离开游戏
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAG_ROOM_LEAVE, RoomCreaterOut);          //房主离开游戏
        //进入房间
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_JF_FAIL_FKBZ, RoomJoinFKBZ);  //房卡不足
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_JF_FAIL_RSYM, RoomJoinFAIL);  //房间不存在
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_NO_ROOM, RoomJoinFull);       //人数已满



        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_NEW_PLAYER, RoomJoinNewPlayer); //新玩家进入房间

        //    NetManager.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_SAME_IP, SameIp); //IP冲突
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_SQDHZW_SUC, RecevSQDHZWSuc);   //调换申请成功
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_SQDHZW_FAIL, RecevSQDHZWFail); //调换申请失败


        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_DHZW_SUC, RecevDHZWSuc);   //调换座位成功
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_DHZW_JJ, RecevDHZWFail);   //拒绝调换座位
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_IP_CONFIRME, RecevIpConfirm); //Ip冲突 收到确认回调

        //金币场
        //   TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_GOLD_NOT_ENOUGH, RecevEnterGoldNotEnough);//加入金币场,金币不足
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_GOLD_ENTER_SUC, RecevGoldEnterSuc); //加入金币场成功
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_JF_SUC, RoomJoinSUC);       //进入房间成功
    }
Пример #4
0
 void RoomCardMode()
 {
     if (RoomInfo.Instance.IsZhuandanGameType || RoomInfo.Instance.IsGuandan2GameType)
     {
         //转蛋
         Debug.Log(string.Format("打完第{0}局,总共,{1}局", PlayingGameInfo.Instance.mGameInfo.game_index, RoomInfo.Instance.mRoom.game_num));
         if (!isTotalOver)
         {
             PlayingGameInfo.Instance.EnterNextBureauGame();
         }
         else
         {
             MsgGlobal mG = new MsgGlobal();
             Debug.Log("Send Total roomId:" + RoomInfo.Instance.mRoomId);
             mG.room_id = RoomInfo.Instance.mRoomId;
             TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_TOTAL_GOAL, mG);
         }
     }
     else
     {
         Debug.Log("掼蛋非打二进入下一局");
         //如果结束就不会有这个界面
         if (isOver)
         {
             GameManager.Instance.BackToHomeModule();
         }
         else
         {
             PlayingGameInfo.Instance.EnterNextBureauGame();
         }
     }
 }
Пример #5
0
    static void ReConnect(ConnectState state)
    {
        Debug.Log("开始重新连接");

        TCPNetWork.GetInstance().Close();
        TCPNetWork.GetInstance().Connect(state.connectIP, state.connectPort, PlayingGameInfo.Instance.SendReconnectServer);
    }
Пример #6
0
    public override void AddServerCallBack()
    {
        base.AddServerCallBack();
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_OC, RevcCanPutOutCard);          //收到出牌消息
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_SHOW_CARD_FAIL, RevcPutOutFail); //出牌失败
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_DISS_AGREE, RecevRoomAgree);        //同意解散房间
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_DISS_REFUSE, RecevRoomRefuse);      //拒绝解散房间
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_DISS_APPLY, RecevRoomApply);        //申请解散回调
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_DISS_FAIL, RecevDisRoomFail);    //解散投票结果 --失败

        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GAME_TOTALSCORE, RecevTotalBureau); //总的结算
        //进贡
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_JG_FQSUC, RecevTributeSuc);      //进贡
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_JG_NOTMAX, RecevJGMax);          //(本人)
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_JG_FQERR, RecevFQErr);           //(其余人)
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_JG_HTJP, RecevJG_HTJPErr);       //(其余人)

        //回贡成功
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_HG_FQSUC, RecevBackTributeSuc);//回贡RecevBackTributeSuc
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_HG_XYS, RecevHGXys);
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_HG_FQERR, RecevHgFqErr);
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_T_H_S, RecevTonghuanshun);//同花顺
        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_LIPAI, RecevSortCard);

        TCPNetWork.GetInstance().AddCallback(ServerMsgKey.GUANDAN_ROOM_GD_SHOW_CARD_CHOOSE, RecevCardTypeChoose);//牌型选择
    }
Пример #7
0
    public void SendServerCardTip()
    {
        SelfCardsManager.Instance.mIsRecevCardTip = false;
        MsgGlobal mGl = new MsgGlobal();

        mGl.guandan_room        = new MsgGuandanRoom();
        mGl.guandan_room.action = mMsgAction;
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_CARD_TIP, mGl);
    }
Пример #8
0
    /// <summary>
    /// 解散房间请求 (战斗中)
    /// </summary>
    public void SendDissRoomApplyMsg()
    {
        MsgGlobal mGl = new MsgGlobal();

        mGl.dis_room_info = new MsgDisRoomInfo();
        MsgDisRoomInfo msg = mGl.dis_room_info;

        msg.voteTime = TimeUtils.ConvertDateTimeInt(System.DateTime.Now).ToString();
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_DISS_ROOM, mGl);
    }
Пример #9
0
 public void restartThreads()
 {
     //Debug.Log ("restartThreads----GetUDPServerPort:  " + PlayerInfo.Instance.GetUDPServerPort);
     //Debug.Log ("restartThreads----isWechatCallback:  " + isWechatCallback);
     if (PlayerInfo.Instance.GetUDPServerPort > 0 && isWechatCallback == 0)
     {
         Debug.Log("-------restartSocket--------");
         TCPNetWork.GetInstance().ReNowConnect();
     }
 }
Пример #10
0
    /// <summary>
    /// 发起回贡
    /// </summary>
    public void SendBackTribute(uint cardId)
    {
        MsgGlobal mGl = new MsgGlobal();

        mGl.tribute_info = new MsgTributeInfo();
        MsgTributeInfo msg = mGl.tribute_info;

        msg.hgpz_card = cardId;
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_BACK_TRIBUTE, mGl);
    }
Пример #11
0
    public void SendTalkServer(string voiceName, uint time)
    {
        MsgGlobal      mGl = new MsgGlobal();
        MsgGuandanRoom msg = mGl.guandan_room;

        msg.voiceName     = voiceName;
        msg.msg_talk      = new MsgTalk();
        msg.msg_talk.time = time;
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_TALK, mGl);
    }
Пример #12
0
    public void SendJoinRoomServer(int roomCode)
    {
        MsgGlobal mGl = new MsgGlobal();

        mGl.room_info = new MsgRoomInfo();
        MsgRoomInfo msg = mGl.room_info;

        msg.roomCode = (uint)roomCode;
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_ENTER_ROOM, mGl);
    }
Пример #13
0
 public static TCPNetWork GetInstance()
 {
     if (_instance == null)
     {
         GameObject obj = new GameObject();
         obj.name = "NetWork";
         DontDestroyOnLoad(obj);
         _instance = obj.AddComponent <TCPNetWork>();
     }
     return(_instance);
 }
Пример #14
0
    public void SendRefreshGameServer()
    {
        return; //暂时屏蔽

        Debug.Log("SendRefreshGameServer");
        if (RoomInfo.Instance.mRoomCode < 1)
        {
            return;
        }
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_REFRESH);
    }
Пример #15
0
    /// <summary>
    /// 回答是否换座位
    /// </summary>
    /// <param name="toPlayerId"></param>
    public void SendAgreeChangeSeat(ulong applyId, uint result)
    {
        MsgGlobal mGl = new MsgGlobal();

        mGl.change_seat_info = new MsgChangeSeatInfo();
        MsgChangeSeatInfo msg = mGl.change_seat_info;

        msg.apply_player_id = applyId;
        msg.to_player_id    = PlayerInfo.Instance.mPlayerPid;
        msg.apply_result    = result;
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_AGREE_CHANGE_SEAT, mGl);
    }
Пример #16
0
    //消息的发送等
    void RequestEmticonInfo(MsgEmoticon em = 0, string message = "")
    {
        MsgGlobal gl = new MsgGlobal();

        gl.emotion_info = new MsgEmotionInfo();
        var msg = gl.emotion_info;

        msg.action_id  = PlayerInfo.Instance.mPlayerPid;
        msg.emoticonId = em;
        msg.message    = message;
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_USE_EMOTICON, gl);
        OnCloseClick(null);
    }
Пример #17
0
    public void SendExchangeRoomServer()
    {
        MsgGlobal mGl = new MsgGlobal();

        mGl.gold_playground = new MsgGoldPlayground();
        MsgGoldPlayground msg = mGl.gold_playground;

        msg.gold_playground_type = curGroundType;
        msg.cost = curGroundCost;
        msg.min  = curGroundMinScore;
        msg.type = (uint)EJoinRoomType.EExchange;
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_GOLD_EXCHANGE_ROOM, mGl);
    }
Пример #18
0
    public void SendServerSortCard()
    {
        MsgGlobal mGl = new MsgGlobal();

        mGl.action = new MsgAction();
        MsgAction msg = mGl.action;

        for (int i = 0; i < mCurSelectCardIds.Count; i++)
        {
            msg.action_card.Add(mCurSelectCardIds[i]);
        }
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_SORT_CARD, mGl);
    }
Пример #19
0
    public void ReSendEnterGoldFiledServer()
    {
        MsgGlobal mGl = new MsgGlobal();

        mGl.gold_playground = new MsgGoldPlayground();
        MsgGoldPlayground msg = mGl.gold_playground;

        msg.gold_playground_type = (TGoldPlaygroundType)curGroundType;
        msg.cost = curGroundCost;
        msg.min  = curGroundMinScore;
        msg.type = (uint)EJoinRoomType.EEnter;
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_ENTER_GOLD_FILED, mGl);
    }
Пример #20
0
    /// <summary>
    /// 要不起
    /// </summary>
    public void SendRefusePutOutCard()
    {
        ClearAllSelectCards();  //清空所有被选中的打出的牌
        MsgGlobal mGl = new MsgGlobal();

        mGl.guandan_room        = new MsgGuandanRoom();
        mGl.guandan_room.action = new MsgAction();
        MsgAction msg = mGl.guandan_room.action;

        msg.action_id = (ulong)PlayerInfo.Instance.mPlayerPid;
        msg.action_ct = TGuanDanCT.CT_BUCHU;
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_SHOW_CARD, mGl);
    }
Пример #21
0
    public void ConnectTo(string ip, int port, Action conSucCallBack)
    {
        if (Vaild())
        {
            Debug.Log("Hava already connected");
        }
        TCPWorkInterface.onConSucHandler = conSucCallBack;

        string newip = ip;

        //这边应还有IOS ipv6的处理。

        m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        m_socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel.Socket, SocketOptionName.ReceiveBuffer, MAX_BUFFER_SIZE);

        m_socket.NoDelay = true;                           //启动Nagle分块算法进行传输,(优化传输效率)
        Debug.Log("DonFragment:" + m_socket.DontFragment); //默认flase,则准许分片
        ConnectState state = new ConnectState();

        this.ip                = newip;
        this.port              = port;
        state.connectIP        = newip;
        state.connectPort      = port;
        state.socket           = m_socket;
        state.netWorkInterface = this;
        Debug.Log("connect To:" + newip + ":" + port);

        try
        {
            m_socket.BeginConnect(new IPEndPoint(IPAddress.Parse(newip), port), new AsyncCallback(ConnectCB), state);
            connectCallBackFlag = false;
            TCPNetWork.GetInstance().StartCoroutine(WaitForConnect(state));
            this.Connecting = true;
        }
        catch (SocketException e)
        {
            Debug.LogFormat("connect To error:{0}", e.ToString());
            state.errorType = SocketErrorType.SocketException;
            state.error     = e.ToString();
            state.success   = false;
            OnConnectState(state);
        }
        catch (Exception e)
        {
            Debug.LogFormat("Connect To error :{0}", e.ToString());
            state.errorType = SocketErrorType.Exception;
            state.error     = e.ToString();
            state.success   = false;
            OnConnectState(state);
        }
    }
Пример #22
0
    public void SendEnterGoldFiledServer(int groundType, uint cost, uint min)
    {
        SaveCurMode((TGoldPlaygroundType)groundType, cost, min);

        MsgGlobal mGl = new MsgGlobal();

        mGl.gold_playground = new MsgGoldPlayground();
        MsgGoldPlayground msg = mGl.gold_playground;

        msg.gold_playground_type = (TGoldPlaygroundType)groundType;
        msg.cost = cost;
        msg.min  = (uint)min;
        msg.type = (uint)EJoinRoomType.EEnter;
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_ENTER_GOLD_FILED, mGl);
    }
Пример #23
0
    public void getAddressFromGd(string address)
    {
        Debug.Log("高德定位:" + address);
        ipAds = address;
        PlayerInfo.Instance.mPlayerData.ipAds = address;
        MsgGlobal msgGlobal = new MsgGlobal();

        msgGlobal.login = new @public.MsgLogin();
        var msg = msgGlobal.login;

        msg.appId = PlayerInfo.Instance.mPlayerData.appId;
        msg.pid   = (ulong)PlayerInfo.Instance.mPlayerData.pid;
        msg.ipAds = ipAds;
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.GUANDAN_ROOM_UPDATE_IPADS, msgGlobal);
    }
Пример #24
0
    public void SendExitRoomServer()
    {
        if (RoomInfo.Instance.mRoom == null || RoomInfo.Instance.mRoomCode.Equals(null) || RoomInfo.Instance.mRoomCode == 0)
        {
            return;
        }

        if (RoomInfo.Instance.IsCreater()) //房主,且不是aa的情况下,才凸显出房主的消息
        {
            TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_OUT_ROOM_BY_CREATER);
        }
        else
        {
            TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_OUT_ROOM_BY_PLAYER);
        }
    }
Пример #25
0
    /// <summary>
    /// 申请换座位
    /// </summary>
    /// <param name="toPlayerId"></param>
    public void SendApplyChangeSeat(ulong toPlayerId)
    {
        if (toPlayerId == 0)
        {
            UIManagers.Instance.EnqueueTip("还没有人");
            return;
        }

        MsgGlobal mGl = new MsgGlobal();

        mGl.change_seat_info = new MsgChangeSeatInfo();
        MsgChangeSeatInfo msg = mGl.change_seat_info;

        msg.apply_player_id = PlayerInfo.Instance.mPlayerPid;
        msg.to_player_id    = toPlayerId;
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_APPLY_CHANGE_SEAT, mGl);
    }
Пример #26
0
    /// <summary>
    /// 出牌请求
    /// </summary>
    public void SendPutOutCard()
    {
        MsgGlobal mGl = new MsgGlobal();

        mGl.guandan_room        = new MsgGuandanRoom();
        mGl.guandan_room.action = new MsgAction();
        MsgAction msg = mGl.guandan_room.action;

        msg.action_id = (ulong)PlayerInfo.Instance.mPlayerPid;
        for (int i = 0; i < mCurSelectCardIds.Count; i++)
        {
            var id = mCurSelectCardIds[i];
            msg.action_card.Add(id);
        }
        //待补充缝人配,2代替后的牌发到服务器。
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_SHOW_CARD, mGl);
    }
Пример #27
0
    void SendServerToLogin()
    {
        Debug.Log("Send Servver To Login");
        var       fighter = PlayerInfo.Instance.mFightServer;
        var       player  = PlayerInfo.Instance.mPlayerData;
        MsgGlobal mGl     = new MsgGlobal();

        mGl.login = new @public.MsgLogin();
        var msg = mGl.login;

        msg.token     = player.token;
        msg.appId     = player.appId;
        msg.hostId    = GlobalData.mHostId;
        msg.channelId = player.channelId;
        msg.uuid      = player.uuid;
        msg.pid       = (ulong)player.pid;
        msg.time      = (ulong)TimeUtils.ConvertToTime(DateTime.Now);
        msg.ipAds     = SDKManager.Instance.ipAds;
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_LOGIN, mGl);
    }
Пример #28
0
    void RequestServer(GameObject g)
    {
        //int index = btnList.IndexOf(g.GetComponent<UIButton>());
        int       price = int.Parse(g.name);
        MsgGlobal mGl   = new MsgGlobal();

        mGl.props_info = new MsgPropsInfo();
        MsgPropsInfo msg = mGl.props_info;

        msg.action_id = PlayerInfo.Instance.mPlayerPid;
        msg.target_id = targetId;
        msg.propsId   = (MsgProps)price;

        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_USE_PROPS, mGl);
        //TweenManager.Instance.SetToolsType((MsgProps)index /*GameObject.Find("UI Root").transform, startPos, endPos*/);
        Debug.Log("玩家发送使用道具的消息:" + msg.propsId);
        Debug.Log("目标ID" + msg.target_id);
        Debug.Log("发起者Id" + msg.action_id);
        OnCloseClick(g);
    }
Пример #29
0
    /// <summary>
    /// 连接
    /// </summary>
    /// <param name="state"></param>
    private static void OnConnectState(ConnectState state)
    {
        Debug.Log("Connect Status");
        TCPWorkInterface networkInterface = state.netWorkInterface;

        networkInterface.Connecting = false;
        if (state.success)
        {
            //创建接收线程和发送线程
            networkInterface.StartTCPWorker();
            OnConnSucFunc();
            //启动协程判断网络是否断开(暂时备用 )
            TCPNetWork.GetInstance().StartCoroutine(CheckNetStateLoop(state));
        }
        else
        {
            networkInterface.Close();
            Debug.Log("connect error :" + state.success);
            //  增加检测重连5s一次
        }
    }
Пример #30
0
    void SendServerArgs()
    {
        MsgGlobal mGl = new MsgGlobal();

        mGl.room_info = new MsgRoomInfo();
        MsgRoomInfo msg = mGl.room_info;

        msg.creater_id = (ulong)PlayerInfo.Instance.mPlayerPid;
        //默认游戏类型的变化需要修改下面这行代码
        msg.game_type     = (int)gameType.mSelectTeam == 1 ? TGuanDanGameType.TGuanDanGameTypeZhuanDan : TGuanDanGameType.TGuanDanGameTypeGuanDan;
        msg.card_use_type = (int)payType.mSelectTeam == 1 ? TGuanDanCardUseType.TGuanDanCardUseTypeAa : TGuanDanCardUseType.TGuanDanCardUseTypeCreater;
        if (msg.game_type == TGuanDanGameType.TGuanDanGameTypeZhuanDan)
        {
            msg.game_num = GetZhuandanNumType((int)zhuanDanContainer.mSelectTeam);
        }
        else if (msg.game_type == TGuanDanGameType.TGuanDanGameTypeGuanDan)
        {
            if (guanDanContainer.mSelectTeam == ESelectType.EA || guanDanContainer.mSelectTeam == ESelectType.EB)
            {
                msg.game_num = GetZhuandanNumType((int)guanDanContainer.mSelectTeam);
            }
            else
            {
                msg.game_type = GetGameType(guanDanContainer.mSelectTeam);
            }
        }

        //-------缓存游戏模式
        XPlayerPrefs.Instance.mGamePay  = (int)msg.card_use_type == 1 ? 2 : 1;
        XPlayerPrefs.Instance.mGameType = (int)msg.game_type;
        XPlayerPrefs.Instance.mGameNum  = (int)msg.game_num;

        //房卡消耗,和打到几
        TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_CREATE_ROOM, mGl);

        Debug.Log("游戏类型:" + msg.game_type);
        Debug.Log("游戏局数:" + msg.game_num);
        Debug.Log("支付方式:" + msg.card_use_type);
    }