public static CNetCreateCustomGameRMR CreateCustomGameRMC(Session session, CNetCreateCustomGameRMC data)
        {
            var group = Group.GetOrCreate(session.Player);

            session.Player.GroupID = group.ID;

            group.NotifyGroupUpdate();
            group.StartLobby(data);

            var groupPlayers = group.Players;

            for (var i = 0; i < groupPlayers.Count; i++)
            {
                var player = groupPlayers[i];
                group.ChangeGameSlot(player, i, player.ActiveDeck);
            }

            group.NotifyLobbyChanges();

            return(new CNetCreateCustomGameRMR(true)
            {
                Status = 0,
                IdLeader = session.Player.ID,
                IdPreMatch = group.Lobby.ID,
                Pvp = data.Pvp
            });
        }
示例#2
0
 public void StartLobby(CNetCreateCustomGameRMC descriptor)
 {
     Lobby = new GameLobby(descriptor.IdMap)
     {
         ID               = ID,
         IsPVP            = descriptor.Pvp,
         CombinedChecksum = descriptor.CombinedChecksum,
         MapChecksum      = descriptor.MapChecksum,
         Difficulty       = descriptor.Difficulty,
         Limited          = descriptor.Limited,
         Speedrun         = descriptor.Speedrun
     };
     SendToMembers(GetLobbyCreatedNotification());
 }
示例#3
0
        public static CNetCreateCustomGameRMR CreateCustomGameRMC(Session session, CNetCreateCustomGameRMC data)
        {
            var group = Group.GetOrCreate(session.Player);

            session.Player.GroupID = group.ID;

            group.NotifyGroupUpdate();
            group.StartLobby(data);
            group.ChangeGameSlot(session.Player, 0, data.IdDeck);
            group.NotifyLobbyChanges();

            return(new CNetCreateCustomGameRMR(true)
            {
                Status = 0,
                IdLeader = session.Player.ID,
                IdPreMatch = group.Lobby.ID,
                Pvp = data.Pvp
            });
        }