List <GameObject> friends = new List <GameObject>(); //好友列表 void Start() //是函数,启动时我们只执行一次,里面的循环体不受影响 { //Debug.Log("到主界面:"); friendPrefb = (GameObject)Resources.Load("Prefabs/MMenu/FriendProb"); //动态加载好友预制件 msgCount_preb = (GameObject)Resources.Load("Prefabs/MMenu/msgCount"); //msgCount_preb预制件 rank_preb = (GameObject)Resources.Load("Prefabs/MMenu/Rank_item"); //排行榜预制件加载 RankCommand.Rank_Send(); //获取排行榜命令 DisplayMyInfo(); myInfo_B.onClick.AddListener(() => { GameAudio.instance.PlayAudioSourceUI("click_btn"); InfoPanel infoPanel = InfoPanel.Open(); infoPanel.Initialize(NetStart.myInfo); });//转到个人的详细信息界面 creatRoom_B.onClick.AddListener(() => { GameAudio.instance.PlayAudioSourceUI("click_btn"); //执行查找房间命令 RoomCommand.SelectRooms(); MMunePanel.Close(); RoomsHallPanel.Open(); }); msgCount_B.onClick.AddListener(() => ToChatPanel(null)); setting_B.onClick.AddListener(() => { GameAudio.instance.PlayAudioSourceUI("click_btn"); SettingPanel.Open(); }); store_B.onClick.AddListener(() => { GameAudio.instance.PlayAudioSourceUI("click_btn"); //Close(); }); SelectFriendCommand.SelectFriendList(); }
/// <summary> /// 心跳包 查好友 查排行 发送 /// </summary> void Refresh_Send() { if (isLogin) { if (Time.time - lastTime >= heartBeatTime) { HeartbeatCommand.Heartbeat_Send();//心跳包发送 if (MMunePanel.Get()) { RankCommand.Rank_Send(); //获取查询排行的命令 SelectFriendCommand.SelectFriendList(); //查找所有好友 } if (RoomsHallPanel.Get()) { RoomCommand.SelectRooms();//获取所有房间 } //if (RoomPanel.Get()) //{ // RoomCommand.RefreshThisRoomInfo(myInfo.roomNum);//刷新当前房间信息 //} lastTime = Time.time; } } }
public override void DoCommand() { int command = BitConverter.ToInt32(bytes, 8); switch (command) { case 1: //处理将闲置房间列发反馈给客户端 rooms = DataDo.Json2Object <Dictionary <string, RoomInfo> >(Decode.DecodSecondContendBtye(bytes)); //查找数据报错,解析成对象时 if (RoomsHallPanel.Get()) { RoomsHallPanel.Get().OperateRoom(); } Debug.Log("查找成功, 房间数:" + rooms.Count); break; case 2: Debug.Log("开房成功"); break; case 3: //返回房间界面 RoomInfo room = DataDo.Json2Object <RoomInfo>(Decode.DecodSecondContendBtye(bytes)); RoomPanel.room = room; SceneManager.LoadScene("Scenes/MainScence"); UnityAction <Scene, LoadSceneMode> onLoaded = null; onLoaded = (Scene scene, LoadSceneMode mode) => { RoomPanel.Open().ForeachPlayerList(room); RoomPanel.Get().inPutField.text = room.roomName; SceneManager.sceneLoaded -= onLoaded; }; SceneManager.sceneLoaded += onLoaded; break; case 4: Debug.Log("加入房间:"); RoomsHallPanel.Close(); RoomInfo roomInfos = DataDo.Json2Object <RoomInfo>(Decode.DecodSecondContendBtye(bytes)); RoomPanel.room = roomInfos; //判断是否是在房间界面 if (SceneManager.GetActiveScene().name == "MainScence") { RoomPanel.Open().ForeachPlayerList(roomInfos); RoomPanel.Get().inPutField.text = roomInfos.roomName; NetStart.myInfo.roomNum = roomInfos.roomID; } break; case 5: RoomInfo roomInfo5 = DataDo.Json2Object <RoomInfo>(Decode.DecodSecondContendBtye(bytes)); RoomPanel.room = roomInfo5; RoomPanel roomPanel = RoomPanel.Get(); if (roomPanel) { roomPanel.inPutField.text = roomInfo5.roomName; roomPanel.ForeachPlayerList(roomInfo5); } Debug.Log("已退出房间" + roomInfo5.member.Count); break; case 6: Debug.Log("房主转让"); //被动接受 break; case 8: Debug.Log("邀请加入"); break; case 9: Debug.Log("踢出房间"); break; case 10: Debug.Log("添加好友"); break; case 11: Debug.Log("获取可以邀请好友列表"); break; case 12: Debug.Log("修改房间名"); break; } }