public ActionResult CreateGame() { //UserFiche.AutorizeUser(new AuthorizationDetails() { Login = "******", Password = "******" }); MultiPlayerGameData multiPlayerGame = new MultiPlayerGameData(); using Conector.SetFiche setFicheConector = new Conector.SetFiche(); if (!setFicheConector.AnySetsFicheExist(UserFiche.CurentUser.Id)) { return(RedirectToAction(nameof(ComonController.DontFindSet), "Comon")); } multiPlayerGame.AvailableSetFiches = setFicheConector.SearchSetsFiche(UserFiche.CurentUser.Id, null); return(View(multiPlayerGame)); }
public ActionResult GetFiche() { if (Game.CurentMultiPlayerGame != null) { Fiche fiche = null; MultiPlayerGameData multiPlayerGameData = null; GameState gameState = new GameState(); gameState.IsMultiPlayer = true; lock (Game.CurentMultiPlayerGame) { fiche = Game.CurentMultiPlayerGame.CurrentFiche; multiPlayerGameData = Game.CurentMultiPlayerGame.MultiPlayerGameData; } gameState.Fiche = fiche; gameState.IntTypeAnswer = (int)multiPlayerGameData.TypeAnswer; gameState.LimitTimeSek = multiPlayerGameData.LimitTimeInSek; return(multiPlayerGameData.TypeAnswer switch { DTO.Enums.TypeAnswerMultiGame.WriteText => View($"../Gra/{nameof(GraController.WriteText)}", gameState), DTO.Enums.TypeAnswerMultiGame.ChoseOption => View($"../Gra/{nameof(GraController.ChoseOption)}", gameState) });
public ActionResult CreateGame(MultiPlayerGameData multiPlayerGame) { bool gotLock = false; Guid guid = Guid.NewGuid(); Game CurrentGame = null; if (ValidatingNewGameForPlayer(null)) { try { LockListGameDoesntStart.AcquireWriterLock(timeOut); ListGameDoesntStart.Add(guid, new WeakReference <Game>(CurrentGame = new Game(multiPlayerGame) { IdentifyGuid = guid })); } catch { } finally { gotLock = LockListGameDoesntStart.IsWriterLockHeld; LockListGameDoesntStart.ReleaseWriterLock(); } } else { return(Json(new { GUID = (string)null })); } if (gotLock) { CurrentGame.Register(UserFiche.CurentUser); Game.GetUserBySesionFicheUser().UserCanStart = true; return(Json(new { GUID = guid.ToString() })); } throw new NotSupportedException("Nie udało się stworzyć nowej gry"); }
public Game(MultiPlayerGameData multiPlayerGameData) { MultiPlayerGameData = multiPlayerGameData; }