private void BoardModelOnTileSpawned(Tile tile, TilePosition position) { var destination = GetTileDrawPosition(position.Row, position.Col); var tileView = TileFactory.CreateTileView(tile); tileView.Position = new Vector2(destination.X, -TileView.TextureSize.Y); _matrix[position.Row, position.Col] = tileView; _animations.Add(new MoveTileAnimation(350, _matrix[position.Row, position.Col], destination)); }
public BoardView(BoardModel boardModel, Vector2 offset) { BoardModel = boardModel; _offset = offset; _animations = new List <MoveTileAnimation>(); _matrix = new TileView[BoardModel.Rows, BoardModel.Columns]; for (var row = 0; row < BoardModel.Rows; row++) { for (var col = 0; col < BoardModel.Columns; col++) { var tile = BoardModel.Matrix[row, col]; var tileView = TileFactory.CreateTileView(tile); tileView.Position = GetTileDrawPosition(row, col); _matrix[row, col] = tileView; } } BoardModel.TileSwapped += BoardModelOnTileSwapped; BoardModel.TileSpawned += BoardModelOnTileSpawned; BoardModel.TileDeleted += BoardModelOnTileDeleted; }