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 }); }
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()); }
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 }); }