public void OnAskForRooms(ProtocolBase protocol) { ProtocolBytes proto = (ProtocolBytes)protocol; int start = 0; /*string protoName = */ proto.GetString(start, ref start); string roomName; int peopleNum; RoomObject room; roomList.Clear(); //习惯性清空roomList while ((roomName = proto.GetString(start, ref start)) != "") { peopleNum = proto.GetInt(start, ref start); //将这个房间加入 总的房间列表 这就是所有房间的初始化过程 但是注意,里面的玩家列表是空的,需要点击后,才能从后端获取 room = new RoomObject(roomName); room.ExistPerNum = peopleNum; room.GenerateFraction(); //计算其中的fraction roomList.Add(room); //将其加入 roomList } if (roomList != null && roomList.Count > 0) { //渲染 list1 ,呈现所有的房间 RenderListOne(); } else { return; } }
//创建房间的广播回调函数 public void CreateRoom(ProtocolBase protocol) { Debug.Log("来啊,我在这里"); ProtocolBytes proto = (ProtocolBytes)protocol; int start = 0; /*string protoName = */ proto.GetString(start, ref start); string room_name = proto.GetString(start, ref start); int peopleNum = proto.GetInt(start, ref start); //将房间新房间加入 roomList 然后重新渲染 列表一 RoomObject room = new RoomObject(room_name)//简化的new { ExistPerNum = peopleNum }; room.GenerateFraction(); roomList.Add(room); //渲染 列表一 所有房间列表 RenderListOne(); }