public void ChangeMode() { Console.WriteLine("===Salle d'attente complete==="); State = State.InGame; MasterOperation(false); GameManager = new GameManager(CurrentLobby.Players, _map, _em, this); Server.Stop(); Console.WriteLine("Debut du jeu"); }
static void Main(string[] args) { Console.WriteLine("Game Server Key " + gameServerKey); client = new RedisClient(); client.Subscribe(RedisChannels.CreateNewGameRequest, request => { var gameId = Guid.NewGuid().ToString("N"); var createNewGameRequest = (CreateNewGameRequest)request; GameManager gameManager = new GameManager(gameId) { InitialRequest = createNewGameRequest }; games.Add(gameId, gameManager); // Console.WriteLine("New Game Request " + games.Count); client.SendMessage("GameUpdate" + createNewGameRequest.GatewayKey, new GameUpdateRedisMessage() { GameId = gameId, UserKey = createNewGameRequest.UserKey, GameServer = gameServerKey, GameStatus = GameStatus.Started }); startGame(gameManager); }); client.Subscribe("GameServer" + gameServerKey, request => { var gameServerResponse = (GameServerRedisMessage)request; games[gameServerResponse.GameId].DataClass.curAnswered(gameServerResponse.AnswerIndex); }); timer = new Timer((e) => { var now = DateTime.Now; var answersPerSecond = 0.0; if (start != DateTime.MinValue) { answersPerSecond = AnswerCount / (now - start).TotalSeconds; } Console.WriteLine($"Games Done: {GamesDone} Answers: {AnswerCount} LiveGames: {games.Count} APS: {answersPerSecond}"); }, null, 0, 500); Console.WriteLine("Press any [Enter] to close the host."); Console.ReadLine(); }
public DataClass(GameManager gameManager) { GameManager = gameManager; GameManager.DataClass = this; }
private static void startGame(GameManager gameManager) { Engine engine = new Engine(); var promise = getFile(@"./js/promise.js"); var sevens = getFile(@"./js/sevens.js"); var dataClass = new DataClass(gameManager); engine.SetValue("shuff", dataClass); engine.SetValue("exports", new { }); engine.SetValue("require", new Func<string, JsValue>((file) => { var txt = getFile($@"./js/{file}.js"); engine.SetValue("shuff", dataClass); engine.Execute("var exports={};" + txt); return engine.GetValue("exports"); })); engine.Execute(promise + "; " + sevens); engine.Execute("Main.run()"); }