| 11 | #include "GenomeDescriptionService.h" |
| 12 | |
| 13 | DataDescription DescriptionEditService::createRect(CreateRectParameters const& parameters) |
| 14 | { |
| 15 | DataDescription result; |
| 16 | auto creatureId = parameters._randomCreatureId ? toInt(NumberGenerator::get().getRandomInt(std::numeric_limits<int>::max())) : 0; |
| 17 | for (int i = 0; i < parameters._width; ++i) { |
| 18 | for (int j = 0; j < parameters._height; ++j) { |
| 19 | result.addCell(CellDescription() |
| 20 | .setId(NumberGenerator::get().getId()) |
| 21 | .setPos({toFloat(i) * parameters._cellDistance, toFloat(j) * parameters._cellDistance}) |
| 22 | .setEnergy(parameters._energy) |
| 23 | .setStiffness(parameters._stiffness) |
| 24 | .setMaxConnections(parameters._maxConnections) |
| 25 | .setColor(parameters._color) |
| 26 | .setBarrier(parameters._barrier) |
| 27 | .setCreatureId(creatureId) |
| 28 | .setMutationId(parameters._mutationId) |
| 29 | .setGenomeComplexity(parameters._genomeComplexity)); |
| 30 | } |
| 31 | } |
| 32 | reconnectCells(result, parameters._cellDistance * 1.1f); |
| 33 | if (parameters._removeStickiness) { |
| 34 | removeStickiness(result); |
| 35 | } |
| 36 | result.setCenter(parameters._center); |
| 37 | return result; |
| 38 | } |
| 39 | |
| 40 | DataDescription DescriptionEditService::createHex(CreateHexParameters const& parameters) |
| 41 | { |