Esempio n. 1
0
        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"));
        }