private void GenerateBoard() { WorldSpace worldSpace = m_GameStore.WorldSpace; for (int i = 0; i < worldSpace.DimensionX; i++) { for (int j = 0; j < worldSpace.DimensionZ; j++) { GameObject boardTile = Instantiate(m_BoardTile, transform); boardTile.name = $"({i}, {j})"; Coordinate coordinate = new Coordinate(i, 0, j); boardTile.transform.localPosition = worldSpace.CoordinateToWorldSpace(coordinate); boardTile.transform.localScale = new Vector3(worldSpace.ScaleFactorX, worldSpace.ScaleFactorY, worldSpace.ScaleFactorZ); PointerHandler pointerHandler = boardTile.AddComponent <PointerHandler>(); pointerHandler.OnClick = (eventData) => { inputEvents.InvokeBoardTileClicked(coordinate); }; } } }