public void StartGame(int gid) { _gameId = gid; Task.Run(SubData).Wait(); var gameInfo = new Game_SQL().GetGame(_gameId)[0]; _global["Game_ID"] = gameInfo["Game_ID"]; _global["Round"] = gameInfo["Current_Round"]; _global["Pokertables"] = gameInfo["Pokertables"]; _global["Gameprofile_Profile_ID"] = gameInfo["Gameprofile_Profile_ID"]; int pr = gameInfo["Gameprofile_Profile_ID"]; var gameProfile = new Gameprofile_SQL().GetGameprofile(pr)[0]; _global["Starting_Budget"] = gameProfile["Starting_Budget"]; _global["Profilename"] = gameProfile["Profilename"]; _global["Pause_Time"] = gameProfile["Pause_Time"]; _global["Pause_After"] = gameProfile["Pause_After"]; _chips["Rebuy"] = gameProfile["Rebuy"]; _rules["Rules"] = gameProfile["Rules"]; _chips["Chips"] = gameProfile["Chips"]; _roundNumber = gameInfo["Current_Round"]; _pauseAfter = gameProfile["Pause_After"]; if (_roundNumber <= 0) { _roundNumber = 1; } var sql = new Round_SQL(); _currentRound = sql.GetRound(_roundNumber, _gameId); Console.WriteLine($"id: {_gameId}"); _roundTimer.Interval = _currentRound.Round_Time.TotalMilliseconds; _pauseTime = (TimeSpan)gameProfile["Pause_Time"]; _totalNumberOfRounds = new Round_SQL().GetNumberOfRounds(_gameId); _global["TotalNumberOfRounds"] = _totalNumberOfRounds; _notificationTimer.Start(); _roundTimer.Start(); _gameTimer.Start(); SetGameStatus(GameStatus.Running); }
/// <summary> /// game start /// </summary> /// <param name="id">url id(profile)</param> /// <param name="game">game model with data</param> /// <returns>running game page</returns> public ActionResult Start(int?id, Game game) { if (id == null) { return(RedirectToAction("Index")); } game.Gameprofile_Profile_ID = (int)id; game.Game_Finished = false; game.Current_Round = 1; var AddedGame_ID = new Game_SQL().CreateGame(id, game); new Round_SQL().CloneRound2Game(AddedGame_ID, id); GameRunner.Instance.StartGame(AddedGame_ID); return(RedirectToAction("RunningGame")); }