private void OnClick(Vector2 _) { if (!_isPositionValid) { return; } _gameModel.City.Build(_buildingTemplate.Config, _currentX, _currentY); Built?.Invoke(_buildingTemplate, _currentX, _currentY); CreateRandomTemplate(); }
private void OnBuilt(BuildingView building, int x, int y) { for (int i = x; i < x + building.Config.Width; i++) { for (int j = y; j < y + building.Config.Length; j++) { _cells[i, j].SetColorMode(true); } } _buildings.Add(building); Built?.Invoke(building); }
public void Build(BuildingConfig buildingConfig, int x, int y) { var building = new Building(buildingConfig); var maxX = x + buildingConfig.Width; var maxY = y + buildingConfig.Length; for (int i = x; i < maxX; i++) { for (int j = y; j < maxY; j++) { Cells[i, j].Build(building); } } _buildings.Add(building); TotalPower += building.Power; Built?.Invoke(building); }