Ejemplo n.º 1
0
 public void StartMatch(ClientListener client, Pluto pluto)
 {
     LoggerHelper.Debug("StartMatch");
     foreach (var item in m_roomsData.Values)
     {
         if (!item.IsBusy)
         {
             var canStart = item.AddClient(client);
             var ecap     = new EntityCellAttachedPluto();
             var res      = ecap.ServerEncode(GetCellData(client));
             client.Send(res);
             AOINew(client);
             AOIEntityies(client);
             if (canStart)
             {
                 StartBattle(client, pluto);
             }
             LoggerHelper.Debug("StartMatch " + canStart);
             return;
         }
     }
     CreatRoom(client, (int)pluto.Arguments[0], (int)pluto.Arguments[1]);
     if ((int)pluto.Arguments[0] == 1)//单人模式
     {
         StartBattle(client, pluto);
     }
 }
Ejemplo n.º 2
0
        public void CreatRoom(ClientListener client, int teamCount, int clientCount)
        {
            LoggerHelper.Debug("CreatRoom " + teamCount + " " + clientCount);
            var room = new RoomData(teamCount, clientCount);

            room.Id    = (uint)Guid.NewGuid().GetHashCode();
            room.MapId = GetRandomMapId();
            room.AddClient(client);
            var ecap = new EntityCellAttachedPluto();
            var res  = ecap.ServerEncode(GetCellData(client));

            client.Send(res);

            m_roomsData.Add(room.Id, room);
        }