public async Task <Guid> HostGame(Chat.HostGameRequest req, User u) { // Try to kill every other game this asshole started before this one. var others = GameListener.Games.Where(x => x.Username.Equals(u.UserName, StringComparison.InvariantCultureIgnoreCase)) .ToArray(); foreach (var g in others) { g.TryKillGame(); } var bport = AppConfig.Instance.BroadcastPort; var gameId = Guid.NewGuid(); var waitTask = GameListener.WaitForGame(gameId); var game = new HostedGame(Ports.NextPort, req.GameGuid, req.GameVersion, req.GameName, req.GameIconUrl, req.Name, req.Password, u, req.Spectators, false, true , gameId, bport, req.SasVersion); if (game.StartProcess(true)) { await waitTask; return(game.Id); } return(Guid.Empty); }
public Guid HostGame(HostGameRequest req, User u) { var bport = AppConfig.Instance.BroadcastPort; var game = new HostedGame(Ports.NextPort, req.GameGuid, req.GameVersion, req.GameName,req.GameIconUrl, req.Name, req.Password, u,req.Spectators ,false, true ,req.RequestId,bport,req.SasVersion); if (game.StartProcess(true)) { // Try to kill every other game this asshole started before this one. var others = GameListener.Games.Where(x => x.Username.Equals(u.UserName, StringComparison.InvariantCultureIgnoreCase)) .ToArray(); foreach (var g in others) { g.TryKillGame(); } return game.Id; } return Guid.Empty; }