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); } }); }
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); //进入房间成功 }
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(); } } }
static void ReConnect(ConnectState state) { Debug.Log("开始重新连接"); TCPNetWork.GetInstance().Close(); TCPNetWork.GetInstance().Connect(state.connectIP, state.connectPort, PlayingGameInfo.Instance.SendReconnectServer); }
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);//牌型选择 }
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("呀呀语音初始化失败..."); } }
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); }
/// <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); }
/// <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); }
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(); } }
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); }
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); }
public void SendRefreshGameServer() { return; //暂时屏蔽 Debug.Log("SendRefreshGameServer"); if (RoomInfo.Instance.mRoomCode < 1) { return; } TCPNetWork.GetInstance().SendMsgToServer(ServerMsgKey.CLIENT_REFRESH); }
/// <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); }
/// <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); }
//消息的发送等 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); }
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); }
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); }
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); }
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); } }
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); }
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); }
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); } }
/// <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); }
/// <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); }
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); }
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); }
/// <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一次 } }
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); }
void ConnectTCPServer(string ip, int port, Action callBack) { TCPNetWork.GetInstance().Connect(ip, port, callBack); }