/// <summary> /// sauvegarde les mouvements dans la base de données /// </summary> /// <param name="currentBoard">Board</param> /// <param name="p1">Joueur 1</param> /// <param name="p2">Joueur 2</param> /// <param name="gS">statut de la partie <see cref="GameModelDB.GameStatus"/></param> public void saveData(int[] currentBoard, Player p1, Player p2, GameModelDB.GameStatus gS) { GameModelDB gameModelDB = gameDataManager.getGameById(this.idGame); gameModelDB.lastBoard = currentBoard; List <String> listTurnInfo = gameModelDB.turnInformation.ToList <String>(); while (listMementoObjects.Count != 0) { MementoTurn mt = listMementoObjects.ElementAt(0); listMementoObjects.RemoveAt(0); listTurnInfo.Add(mt.dataToString()); } gameModelDB.numberTurnP1 = p1.NumberTurn; gameModelDB.numberTurnP2 = p2.NumberTurn; gameModelDB.nbMoveP1 = p1.Nbmove; gameModelDB.nbMoveP2 = p2.Nbmove; gameModelDB.turnInformation = listTurnInfo.ToArray <String>(); gameModelDB.gameStatus = gS; gameDataManager.updateGame(gameModelDB); }
/// <summary> /// Ajoute dans l'état de mouvement la case qui contient l'élément que l'on souhaite déplacer /// </summary> /// <param name="mem">Memento de la case</param> /// <param name="tile">Case</param> public void pushChoice(MementoObject mem, Tile tile) { mementoTurn = new MementoTurn(); mementoTurn.Selection = mem; mementoTurn.TSelection = tile; }
/// <summary> /// Constructeur /// </summary> public MementoManager() { mementoTurn = null; gameDataManager = DBManager.getInstance(); }
/// <summary> /// Annule un choix /// </summary> public void cancelChoice() { mementoTurn = null; }
/// <summary> /// La commande a été exectuéé /// </summary> public void commandExecuted() { listMementoObjects.Add(mementoTurn); mementoTurn = null; turnDone.Invoke(); }