Ejemplo n.º 1
0
        public static Game QueryGame(int?gameID = null, bool useCacheIfAvailable = false)
        {
            Debug.WriteLine(string.Format("GameState: Query Game id={0}", gameID));
            if (useCacheIfAvailable)
            {
                if (GameID != null)
                {
                    return(Game);
                }
            }

            if (gameID == null || gameID == -1)
            {
                if (GameID == null)
                {
                    return(null);
                }
                else
                {
                    gameID = GameID.Value;
                }
            }

            DB_games db_game = Database.Session.Query <DB_games>()
                               .Where(x => x.id == gameID)
                               .First();

            Game game = new Game(db_game);

            GameState.Set(game);

            return(game);
        }
Ejemplo n.º 2
0
        public Game(DB_games game)
        {
            Info = game;

            QueryAllPlayers();
            QueryGameStatistics();

            QueryAndConnectCivilizations();
            QueryAndConnectSector();
        }
Ejemplo n.º 3
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"));
        }