Bläddra i källkod

fiexed room初始化.

王刚 3 år sedan
förälder
incheckning
76e5c7554a
2 ändrade filer med 15 tillägg och 4 borttagningar
  1. 10 2
      CSserver/MultiDup/server/Lobby.cs
  2. 5 2
      CSserver/MultiDup/server/Room.cs

+ 10 - 2
CSserver/MultiDup/server/Lobby.cs

@@ -69,8 +69,15 @@ namespace MultiDup
         public void OnNewPeerConnected(Peer peer)
         {
             AddPeer(peer);
+            var msg = new SC_MD_GetRoomList() { };
+            this.roomDic.Values.ToList().ForEach(r =>
+            {
+                var info = new SC_MD_GetRoomList.Types.RoomInfo() { Battleserver = "", Mapid = r.mapId, RoomId = r.Id};
+                info.PlayerUids.Add(peer.UID);
+                msg.RoomInfos.Add(info);
+            });
 
-            peer.SendEvent(eProtocalCommand.ScMdGetRoomList, new SC_MD_GetRoomList() { });
+            peer.SendEvent(eProtocalCommand.ScMdGetRoomList, msg);
 
         }
         /// <summary>
@@ -79,10 +86,11 @@ namespace MultiDup
         /// <param name="data"></param>
         void On_CreateRoom(int peerId, sSocketData data)
         {
+            var msg = CS_MD_CreateRoom.Parser.ParseFrom(data._data);
             if (this.ClientPeers.TryGetValue(peerId, out var peer))
             {
                 peer.SendEvent(eProtocalCommand.ScMdCreateRoom, new SC_MD_CreateRoom() { });
-                var room = new Room();
+                var room = new Room(msg.Mapid);
                 room.AddPeer(peer);                   // 转移进房间
                 roomDic.Add(room.Id,room);
 

+ 5 - 2
CSserver/MultiDup/server/Room.cs

@@ -82,13 +82,15 @@ namespace MultiDup
         /// 房间编号
         /// </summary>
         public int Id { get; }
-        public string Name => DateTime.Now.ToString("yyyyMMddHH");
+
+        public int mapId { get; }
 
         /// <summary>
         /// 构造函数
         /// </summary> 
-        public Room()
+        public Room(int mapid)
         {
+            mapId= mapid;
             Id = _roomIdCounter++;
             //this.Name = DateTime.Now.ToString("yyyyMMddHH");
 
@@ -192,6 +194,7 @@ namespace MultiDup
                     this.ClientPeers.Add(p.Id, p);
                 }
                 var list = new SC_MD_EnterRoom() { Uid = p.UID, Zoneid = p.zoneid };
+                
                 ClientPeers.Values.ToList().ForEach(c => list.PlayerUids.Add(c.UID));
                 Broadcast(TargetType.All, eProtocalCommand.ScMdEnterRoom, list);
             }