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; }); }