Ejemplo n.º 1
0
        public ActionResult Show(int?gameID)
        {
            Debug.WriteLine(string.Format("GET: Game Controller: View - gameID={0}", gameID));

            Game game = GameState.QueryGame(gameID);

            if (game == null)
            {
                return(RedirectToRoute("home"));
            }

            DB_users user = Auth.User;

            // If the user isn't in the game, add them as a player
            if (!game.IsPlayerInGame(user.id))
            {
                DB_game_users gameUser = new DB_game_users();
                gameUser.user_id = user.id;
                gameUser.game_id = game.ID;
                gameUser.is_gm   = false;
                Database.Session.Save(gameUser);
                Database.Session.Flush();

                game.QueryAllPlayers();
            }

            return(View(new ViewGame
            {
                User = game.Players.Where(x => x.User.ID == user.id).First(),
                Game = game,
                OnlinePlayers = game.Players.Where(x => x.User.IsOnline).ToList()
            }));
        }
Ejemplo n.º 2
0
        public ActionResult New(GameForm form)
        {
            Debug.WriteLine(string.Format("POST: Game Controller: New Game"));
            DB_users user = Auth.User;

            DB_games newGame = new DB_games();

            newGame.name             = form.Name;
            newGame.description      = form.Description;
            newGame.turn_number      = 0;
            newGame.opened_to_public = form.OpenedToPublic;
            Database.Session.Save(newGame);

            DB_game_users gameUser = new DB_game_users();

            gameUser.user_id = user.id;
            gameUser.game_id = newGame.id;
            gameUser.is_gm   = true;
            Database.Session.Save(gameUser);

            Database.Session.Flush();
            return(RedirectToRoute("home"));
        }
Ejemplo n.º 3
0
 public GamePlayer(DB_users user, DB_game_users gameUser)
 {
     User         = user;
     GameUserInfo = gameUser;
 }