public IActionResult FieldEditorView()
        {
            string player_id = CookiesGetSet.getCookies("Player_Id", HttpContext);

            string res = _srv.CheckGameState(player_id);

            if (res == "~/SetShips/FieldEditorView")
            {
                List <SendShips> ships = _srv.CheckPlayerReady(player_id);
                if (ships != null)
                {
                    ViewBag.Ready = true;
                    ViewBag.Ships = ships;
                }
                else
                {
                    ViewBag.Ready = false;
                    ViewBag.Ships = -1;
                }
                //   ViewBag.PlayerName = playername;
                return(View());
            }
            else
            {
                return(Redirect(res));
            }
        }
예제 #2
0
        public ActionResult Signin(string playername)
        {
            if (playername == "" || playername == null)
            {
                ViewBag.errormsg = "Введите имя";
                return(View("Login"));
            }
            if (playername.Length > 10)
            {
                ViewBag.errormsg = "Имя должно быть не длиннее 10 символов";
                return(View("Login"));
            }

            uint   player_id;
            string res = _ls.SignIn(playername, out player_id);

            if (res == "Rooms")
            {
                CookiesGetSet.addCookies("Login", playername, HttpContext, Parameters.KeepLoginCokies);
                CookiesGetSet.addCookies("Player_Id", player_id.ToString(), HttpContext, Parameters.KeepLoginCokies);
                // ViewBag.playername = playername;
                //   return RedirectToAction("Rooms", "Rooms");
                _logger.LogInformation("Player_Id: " + player_id + ", Player '" + playername + "'" + " log in");
                return(Redirect("~/Rooms/Rooms"));

                // return Redirect("Rooms");
            }

            ViewBag.errormsg = "Игрок с таким именем уже есть на сервере!";
            return(View("Login"));
        }
예제 #3
0
        public ActionResult ErrorNewTab()
        {
            string player_id = CookiesGetSet.getCookies("Player_Id", HttpContext);

            _logger.LogInformation("Player_Id: " + player_id + ", Try to open a new tab");
            return(View("errorNewTab"));
        }
예제 #4
0
        public IActionResult GameView()
        {
            string player_id = CookiesGetSet.getCookies("Player_Id", HttpContext);

            string checkres = _gs.CheckGameState(player_id);

            if (checkres != "~/Game/GameView")
            {
                return(Redirect(checkres));
            }



            StartGameData res = _gs.InitGame(player_id);

            ViewBag.player1name = res.player1name;
            ViewBag.player2name = res.player2name;
            ViewBag.p1field     = res.player1field;
            ViewBag.p2field     = res.player2field;
            //  ViewBag.waitreplay = Parameters.WaitReplayGame;
            int min = Parameters.WaitReplayGame / 60;
            int sec = Parameters.WaitReplayGame % 60;

            ViewBag.waitreplay = min + ":" + (sec < 10 ? "0" + sec.ToString() : sec.ToString());



            min = Parameters.MoveTime / 60;
            sec = Parameters.MoveTime % 60;
            ViewBag.movetime = min + ":" + (sec < 10 ? "0" + sec.ToString() : sec.ToString());
            return(View());
        }
예제 #5
0
        public ActionResult Signout()
        {
            string playername = CookiesGetSet.getCookies("Login", HttpContext);
            string player_id  = CookiesGetSet.getCookies("Player_Id", HttpContext);

            _ls.SignOut(player_id);
            CookiesGetSet.deleteCookies("Player_Id", HttpContext);
            CookiesGetSet.deleteCookies("Login", HttpContext);
            _logger.LogInformation("Player_Id: " + player_id + ", Player '" + playername + "'" + " log out");
            return(Redirect("Login"));
        }
예제 #6
0
        public ActionResult StartGame()
        {
            string player_id = CookiesGetSet.getCookies("Player_Id", HttpContext);

            // string playername=Loginc
            if (!_gs.StartGame(player_id))
            {
                return(Redirect(_gs.CheckGameState(player_id)));
            }
            //  ViewBag.player1name = playername;
            // ViewBag.player2name = p2;
            return(Redirect("GameView"));
        }
예제 #7
0
        public IActionResult Login()
        {
            string player_id = CookiesGetSet.getCookies("Player_Id", HttpContext);

            if (player_id != null)
            {
                //service
                string res = _ls.Login(player_id);
                if (res != "")
                {
                    return(Redirect(res));
                }
            }
            return(View());
        }
예제 #8
0
        public IActionResult Rooms()
        {
            string player_id = CookiesGetSet.getCookies("Player_Id", HttpContext);

            string res = _rs.CheckGameState(player_id);

            if (res == "~/Rooms/Rooms")
            {
                return(View());
            }
            else
            {
                return(Redirect(res));
            }
        }