public void RestoreFromSnapshot(MineFieldSnapshot snapshot) { Cells = CloneCells(snapshot.Cells); MinesLeft = snapshot.MinesLeft; FreeCellsLeft = snapshot.FreeCellsLeft; TotalOpenCells = snapshot.TotalOpenCells; // CHECK: Do we need to restore the other params? (width, height, etc) Changed?.Invoke(this, EventArgs.Empty); }
public static MineField CreateFromSnapshot(MineFieldSnapshot snapshot) { var mineField = new MineField( snapshot.Width, snapshot.Height, snapshot.TotalMines, snapshot.IsResolvable, snapshot.MinePutterDifficulty ); mineField.RestoreFromSnapshot(snapshot); return(mineField); }
public PlayerTurnData( MineFieldSnapshot mineFieldSnapshot, PlayerTurnSnapshot playerTurnSnapshot, string description, float time, GameState gameState ) { MineFieldSnapshot = mineFieldSnapshot; PlayerTurnSnapshot = playerTurnSnapshot; Description = description; Time = time; GameState = gameState; }
public void AddTurn(MineFieldSnapshot mineFieldSnapshot, PlayerTurnSnapshot playerTurnSnapshot, string description, float time) { _playerTurns.Add(new PlayerTurnData(mineFieldSnapshot, playerTurnSnapshot, description, time, GameStateManager.CurrentState)); }