protected override void OnStartRunning()
        {
            _positionConverter = GameStateHelper.CreateWorldPositionConverter(Entities);

            _gameHelper = new GameStateHelper(EntityManager, Entities);

            for (int i = 0; i < _gameHelper.GetSize().Width; i++)
            {
                for (int j = 0; j < _gameHelper.GetSize().Height; j++)
                {
                    Transform cellBack       = GameObject.Instantiate(_cellBackPrefab).transform;
                    Vector2   woorldPosition = _positionConverter.LogicToWorld(new Vector2(i, j));
                    cellBack.position = new Vector3(woorldPosition.x, woorldPosition.y);
                }
            }
        }
        private void GenerateAll()
        {
            Entities.ForEach((Entity entity, ref GenerateAllCellsRequest request) =>
            {
                if (request.Status != RequestStatus.New)
                {
                    return;
                }

                GameFieldSize size = _helper.GetSize();
                Color[] colors     = _helper.GetColors();
                CellsMap map       = new CellsMap(EntityManager);

                for (int i = 0; i < size.Width; i++)
                {
                    for (int j = 0; j < size.Height; j++)
                    {
                        AddCellAt(i, j, colors.GetRandom());
                    }
                }

                request.Status = RequestStatus.Completed;
            });
        }