コード例 #1
0
        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));
        }
コード例 #2
0
 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)
         });
コード例 #3
0
        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");
        }
コード例 #4
0
ファイル: Game.cs プロジェクト: jarek93pl/fiszki
 public Game(MultiPlayerGameData multiPlayerGameData)
 {
     MultiPlayerGameData = multiPlayerGameData;
 }