Пример #1
0
        private async void OnTestExpansionGame(object sender, RoutedEventArgs e)
        {
            AnimationSpeedBase  = 10; // speed up the animations
            RandomGoldTileCount = 3;
            await this.Reset();

            await MainPageModel.Log.Init(CreateSaveFileName("Expansion Game"));

            await SetStateAsync(null, GameState.WaitingForNewGame, true);

            _gameView.CurrentGame = _gameView.Games[1];

            SavedGames.Insert(0, MainPageModel.Log);
            await AddLogEntry(null, GameState.GamePicked, CatanAction.SelectGame, true, LogType.Normal, 1);

            List <PlayerModel> PlayerDataList = new List <PlayerModel>
            {
                SavedAppState.Players[0],
                SavedAppState.Players[1],
                SavedAppState.Players[2],
                SavedAppState.Players[3],
                SavedAppState.Players[4],
            };

            await StartGame(PlayerDataList, 1);
            await NextState(); // simluates pushing "Start"

            CurrentPlayer = MainPageModel.PlayingPlayers[0];
            await PickSettlementsAndRoads();
        }
        public ActionResult DeleteConfirmed(int id)
        {
            SavedGames savedGames = db.SavedGames.Find(id);

            db.SavedGames.Remove(savedGames);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #3
0
    public static void SaveGameSaves()
    {
        SavedGames      saves = SavedGames.currentSaves;
        BinaryFormatter bf    = new BinaryFormatter();
        FileStream      file  = File.Create(Application.persistentDataPath + "/gamesaves.fmns");

        bf.Serialize(file, saves);
        file.Close();
    }
Пример #4
0
        /// <summary>
        ///   Delete this saved game
        /// </summary>
        public void Delete()
        {
            var owner = SavedGames.FirstOrDefault(p => p.Value.Contains(this));

            if (owner.Value != null)
            {
                owner.Value.Remove(this);
                SaveDataToPlayerPrefs();
            }
        }
Пример #5
0
        public void Save()
        {
            var saveFileHeader = new SaveFileHeader
            {
                Description = Tournament.Description
            };

            var savedTournament = Tournament.Save();

            SavedGames.Write(saveFileHeader, savedTournament);
        }
 public ActionResult Edit([Bind(Include = "IDSavedGame,IDGame,IDuser,score,datePlayed")] SavedGames savedGames)
 {
     if (ModelState.IsValid)
     {
         db.Entry(savedGames).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.IDGame = new SelectList(db.Game, "IDgame", "IDgame", savedGames.IDGame);
     ViewBag.IDuser = new SelectList(db.User, "IDuser", "username", savedGames.IDuser);
     return(View(savedGames));
 }
Пример #7
0
        public void LoadPlayer()
        {
            var player = SavedGames.GetPlayerFromUsername(username);

            if (player == null)
            {
                Debug.Log("Could not find player: " + username);
                return;
            }

            var inventory       = player.master.inventory;
            var healthComponent = player.GetCurrentBody().GetComponent <HealthComponent>();
            var bodyPrefab      = BodyCatalog.FindBodyPrefab(characterBodyName);

            player.master.bodyPrefab = bodyPrefab;
            if (alive)
            {
                player.master.Respawn(transform.position.GetVector3(), transform.rotation.GetQuaternion());
            }
            else
            {
                healthComponent?.Suicide();
            }

            for (int i = 0; i < items.Length; i++)
            {
                inventory.RemoveItem((ItemIndex)i, int.MaxValue);
                inventory.GiveItem((ItemIndex)i, items[i]);
            }

            inventory.SetEquipmentIndex((EquipmentIndex)equipItem0);
            if (equipItemCount == 2)
            {
                inventory.SetActiveEquipmentSlot((byte)1);
                inventory.SetEquipmentIndex((EquipmentIndex)equipItem1);
            }

            inventory.AddInfusionBonus((uint)-inventory.infusionBonus);
            inventory.AddInfusionBonus((uint)infusion);

            player.master.money = (uint)money;


            foreach (var item in deployables)
            {
                item.LoadDeployable(player.master);
            }

            SavedGames.instance.StartCoroutine(WaitForStart(player));
        }
        // GET: SavedGames/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SavedGames savedGames = db.SavedGames.Find(id);

            if (savedGames == null)
            {
                return(HttpNotFound());
            }
            return(View(savedGames));
        }
Пример #9
0
        public SavedGame RestoreSavedGameFromDb(int gameId)
        {
            var savedGame = _ctx !.SavedGames.First(s => s.SavedGameId == gameId);

            Board          = DeSerializeBoard(savedGame.GameBoard);
            BoardHeight    = Board.GetLength(0);
            BoardWidth     = Board.GetLength(1);
            GameName       = savedGame.GameName;
            Message        = savedGame.Message;
            GameIsOver     = savedGame.GameIsOver;
            GameId         = savedGame.SavedGameId;
            PlayerOneName  = savedGame.PlayerOneName;
            PlayerTwoName  = savedGame.PlayerTwoName;
            PlayerOneMoves = savedGame.PlayerOneMoves;
            return(savedGame);
        }
Пример #10
0
        public static Game LoadReport(string filename, int rollback = 0, SearchParameters searchParameters = null)
        {
            using (var stream = new FileStream(filename, FileMode.Open))
            {
                var saveGameFile = SavedGames.ReadFromStream(stream);

                var gameParameters = GameParameters.Load(
                    player1Controller: PlayerType.Machine,
                    player2Controller: PlayerType.Machine,
                    savedGame: (SavedGame)saveGameFile.Data,
                    rollback: rollback,
                    searchParameters: searchParameters);

                return(new Game(gameParameters));
            }
        }
Пример #11
0
        static void Main()
        {
            var game       = new ChessGame();
            var savedGames = new SavedGames();

            //playing the game
            //...
            //getting bored

            savedGames.ChessMementos.Add(game.CreateMemento());
            game = null;

            //start playing again

            game = new ChessGame();
            game.RestoreMemento(savedGames.ChessMementos[0]);
        }
Пример #12
0
 public static void LoadGameSaves()
 {
     if (File.Exists(Application.persistentDataPath + "/gamesaves.fmns"))
     {
         BinaryFormatter bf   = new BinaryFormatter();
         FileStream      file = File.Open(Application.persistentDataPath + "/gamesaves.fmns", FileMode.Open);
         SavedGames      s    = (SavedGames)bf.Deserialize(file);
         file.Close();
         if (s.saves != null && s.saves.Count > 0)
         {
             Debug.Log("loading saves");
             SavedGames.currentSaves.saves = s.saves;
         }
         else
         {
             Debug.Log("no saves to load");
         }
     }
 }
Пример #13
0
        // GET: SavedGames/Create
        public ActionResult Create(int idgame, int iduser, decimal score)
        {
            //if a user wants to save a game he already played

            var saved = db.SavedGames.AsNoTracking().FirstOrDefault(x => x.IDGame == idgame);

            if (saved != null && saved.IDuser == iduser)
            {
                return(RedirectToAction("Edit", new { id = saved.IDSavedGame, score = score }));
            }

            var savedGame = new SavedGames {
                IDGame = idgame, IDuser = iduser, score = score, datePlayed = DateTime.Today.Date
            };

            db.SavedGames.Add(savedGame);
            db.SaveChanges();
            return(RedirectToAction("Index", iduser));
        }
Пример #14
0
 public void SaveGameToDb(bool isHumanVsComputer, int winningCondition)
 {
     if (!_ctx !.SavedGames.Any(g => g.SavedGameId == GameId))
     {
         SavedGame savedGame = new SavedGame()
         {
             GameName          = GameName,
             GameBoard         = SerializeBoard(),
             PlayerOneMoves    = PlayerOneMoves,
             IsHumanVsComputer = isHumanVsComputer,
             WinningCondition  = winningCondition,
             Message           = Message,
             GameIsOver        = GameIsOver,
             PlayerOneName     = PlayerOneName,
             PlayerTwoName     = PlayerTwoName
         };
         _ctx.SavedGames.Add(savedGame);
         _ctx.SaveChanges();
         GameId = savedGame.SavedGameId;
     }
Пример #15
0
        // POST: SavedGames/Create
        // To protect from overposting attacks, please enable the specific properties you want to bind to, for
        // more details see http://go.microsoft.com/fwlink/?LinkId=317598.
        //[HttpPost]
        //[ValidateAntiForgeryToken]
        //public ActionResult Create([Bind(Include = "IDSavedGame,IDGame,IDuser,score,datePlayed")] SavedGames savedGames)
        //{
        //    if (ModelState.IsValid)
        //    {
        //        db.SavedGames.Add(savedGames);
        //        db.SaveChanges();
        //        return RedirectToAction("Index");
        //    }

        //    ViewBag.IDGame = new SelectList(db.Game, "IDgame", "IDgame", savedGames.IDGame);
        //    ViewBag.IDuser = new SelectList(db.User, "IDuser", "username", savedGames.IDuser);
        //    return View(savedGames);
        //}

        // GET: SavedGames/Edit/5


        public ActionResult Edit(int?id, decimal score)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            SavedGames savedGames = db.SavedGames.Find(id);
            var        iduser     = savedGames.IDuser;

            if (savedGames == null)
            {
                return(HttpNotFound());
            }

            savedGames.score           = score;
            savedGames.datePlayed      = DateTime.Today.Date;
            db.Entry(savedGames).State = EntityState.Modified;
            db.SaveChanges();

            ViewBag.id = iduser;
            return(RedirectToAction("Index"));
        }
Пример #16
0
        protected void SaveGame()
        {
            if (Match == null)
            {
                return;
            }

            var    saveFileHeader = new SaveFileHeader();
            object gameData;

            if (Match.IsTournament)
            {
                saveFileHeader.Description = Tournament.Description;
                gameData = Tournament.Save();
            }
            else
            {
                saveFileHeader.Description = string.Format("Single match, {0}", Match.Description);
                gameData = Match.Save();
            }

            SavedGames.Write(saveFileHeader, gameData);
        }
Пример #17
0
    internal bool NewSavedGames()
    {
        savedGames = new SavedGames ();

        return true;
    }