Skip to content

Commit 6422ca4

Browse files
committed
Changed tiles declaration logic.
1 parent aef129f commit 6422ca4

File tree

3 files changed

+23
-31
lines changed

3 files changed

+23
-31
lines changed

Assets/Scenes/MainScene.unity

Lines changed: 1 addition & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Scripts/Common/TileItemsPool.cs

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,19 @@
77

88
namespace Common
99
{
10-
public class TileItemsPool : MonoBehaviour
10+
public class TileItemsPool
1111
{
12-
[SerializeField] private Transform _gameBoard;
12+
private readonly Transform _itemsContainer;
13+
private readonly Dictionary<TileGroup, GameObject> _tilePrefabs;
14+
private readonly Dictionary<TileGroup, Queue<IGridTile>> _itemsPool;
1315

14-
[Space]
15-
[SerializeField] private TileModel[] _tiles;
16-
17-
private Dictionary<TileGroup, GameObject> _tilePrefabs;
18-
private Dictionary<TileGroup, Queue<IGridTile>> _itemsPool;
19-
20-
private void Awake()
16+
public TileItemsPool(IReadOnlyCollection<TileModel> tiles, Transform itemsContainer)
2117
{
22-
_itemsPool = new Dictionary<TileGroup, Queue<IGridTile>>();
23-
_tilePrefabs = new Dictionary<TileGroup, GameObject>();
18+
_itemsContainer = itemsContainer;
19+
_itemsPool = new Dictionary<TileGroup, Queue<IGridTile>>(tiles.Count);
20+
_tilePrefabs = new Dictionary<TileGroup, GameObject>(tiles.Count);
2421

25-
foreach (var tile in _tiles)
22+
foreach (var tile in tiles)
2623
{
2724
_tilePrefabs.Add(tile.Group, tile.Prefab);
2825
_itemsPool.Add(tile.Group, new Queue<IGridTile>());
@@ -51,7 +48,7 @@ public void ReturnTile(IGridTile tile)
5148

5249
private IGridTile CreateTile(GameObject tilePrefab)
5350
{
54-
return tilePrefab.CreateNew<IGridTile>(parent: _gameBoard);
51+
return tilePrefab.CreateNew<IGridTile>(parent: _itemsContainer);
5552
}
5653
}
5754
}

Assets/Scripts/Common/UnityGameBoardRenderer.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using Common.Enums;
33
using Common.Interfaces;
4+
using Common.Models;
45
using Match3.App.Interfaces;
56
using Match3.Core.Helpers;
67
using Match3.Core.Interfaces;
@@ -17,12 +18,21 @@ public class UnityGameBoardRenderer : MonoBehaviour, IUnityGameBoardRenderer, IG
1718

1819
[Space]
1920
[SerializeField] private float _tileSize = 0.6f;
20-
[SerializeField] private TileItemsPool _tileItemsPool;
2121

22-
private Vector3 _originPosition;
22+
[Space]
23+
[SerializeField] private TileModel[] _gridTiles;
24+
2325
private IGridTile[,] _gridSlotTiles;
2426
private IGridSlotState[,] _gameBoardData;
2527

28+
private Vector3 _originPosition;
29+
private TileItemsPool _tileItemsPool;
30+
31+
private void Awake()
32+
{
33+
_tileItemsPool = new TileItemsPool(_gridTiles, transform);
34+
}
35+
2636
public IGridSlotState[,] GetGameBoardData(int level)
2737
{
2838
if (_gameBoardData != null)

0 commit comments

Comments
 (0)