private function checkForDeploymentRequirements(Hexagon $hexagon, $possibleDeployment) { /** @var Island $island */ $island = $hexagon->getIsland(); $availableToDeploy = []; /** @var Unit $unit */ foreach ($hexagon->getUnits() as $unit) { if ($unit->getIsDeployed()) { return ['availableOptions' => []]; } } /** @var Unit $unit */ foreach ($possibleDeployment as $unit) { $availableToDeploy[] = $unit->jsonSerialize(); } return $availableToDeploy; }
public function load(ObjectManager $manager) { //Island 1 $hexagon1_1 = new Hexagon(); $hexagon1_1->setIsland($this->getReference('island1')); $hexagon1_1->setTerrainType($this->getReference('grass-terrain')); $hexagon1_1->setQ(-2); $hexagon1_1->setR(0); $hexagon1_2 = new Hexagon(); $hexagon1_2->setIsland($this->getReference('island1')); $hexagon1_2->setTerrainType($this->getReference('grass-terrain')); $hexagon1_2->setQ(-2); $hexagon1_2->setR(1); $hexagon1_3 = new Hexagon(); $hexagon1_3->setIsland($this->getReference('island1')); $hexagon1_3->setTerrainType($this->getReference('grass-terrain')); $hexagon1_3->setQ(-2); $hexagon1_3->setR(2); $hexagon1_4 = new Hexagon(); $hexagon1_4->setIsland($this->getReference('island1')); $hexagon1_4->setTerrainType($this->getReference('desert-terrain')); $hexagon1_4->setQ(-1); $hexagon1_4->setR(1); $hexagon1_5 = new Hexagon(); $hexagon1_5->setIsland($this->getReference('island1')); $hexagon1_5->setTerrainType($this->getReference('rock-terrain')); $hexagon1_5->setQ(0); $hexagon1_5->setR(0); $hexagon1_6 = new Hexagon(); $hexagon1_6->setIsland($this->getReference('island1')); $hexagon1_6->setTerrainType($this->getReference('desert-terrain')); $hexagon1_6->setQ(1); $hexagon1_6->setR(-1); $hexagon1_7 = new Hexagon(); $hexagon1_7->setIsland($this->getReference('island1')); $hexagon1_7->setTerrainType($this->getReference('desert-terrain')); $hexagon1_7->setQ(2); $hexagon1_7->setR(-2); //Island2 $hexagon2_1 = new Hexagon(); $hexagon2_1->setIsland($this->getReference('island2')); $hexagon2_1->setTerrainType($this->getReference('rock-terrain')); $hexagon2_1->setQ(-2); $hexagon2_1->setR(1); $hexagon2_2 = new Hexagon(); $hexagon2_2->setIsland($this->getReference('island2')); $hexagon2_2->setTerrainType($this->getReference('rock-terrain')); $hexagon2_2->setQ(-2); $hexagon2_2->setR(2); $hexagon2_3 = new Hexagon(); $hexagon2_3->setIsland($this->getReference('island2')); $hexagon2_3->setTerrainType($this->getReference('rock-terrain')); $hexagon2_3->setQ(-1); $hexagon2_3->setR(2); $hexagon2_4 = new Hexagon(); $hexagon2_4->setIsland($this->getReference('island2')); $hexagon2_4->setTerrainType($this->getReference('grass-terrain')); $hexagon2_4->setQ(0); $hexagon2_4->setR(1); $hexagon2_5 = new Hexagon(); $hexagon2_5->setIsland($this->getReference('island2')); $hexagon2_5->setTerrainType($this->getReference('grass-terrain')); $hexagon2_5->setQ(0); $hexagon2_5->setR(0); $hexagon2_6 = new Hexagon(); $hexagon2_6->setIsland($this->getReference('island2')); $hexagon2_6->setTerrainType($this->getReference('grass-terrain')); $hexagon2_6->setQ(0); $hexagon2_6->setR(-1); $hexagon2_7 = new Hexagon(); $hexagon2_7->setIsland($this->getReference('island2')); $hexagon2_7->setTerrainType($this->getReference('desert-terrain')); $hexagon2_7->setQ(0); $hexagon2_7->setR(-2); $hexagon2_8 = new Hexagon(); $hexagon2_8->setIsland($this->getReference('island2')); $hexagon2_8->setTerrainType($this->getReference('desert-terrain')); $hexagon2_8->setQ(1); $hexagon2_8->setR(-2); $hexagon2_9 = new Hexagon(); $hexagon2_9->setIsland($this->getReference('island2')); $hexagon2_9->setTerrainType($this->getReference('desert-terrain')); $hexagon2_9->setQ(2); $hexagon2_9->setR(-2); //island3 $hexagon3_1 = new Hexagon(); $hexagon3_1->setIsland($this->getReference('island3')); $hexagon3_1->setTerrainType($this->getReference('grass-terrain')); $hexagon3_1->setQ(-2); $hexagon3_1->setR(2); $hexagon3_2 = new Hexagon(); $hexagon3_2->setIsland($this->getReference('island3')); $hexagon3_2->setTerrainType($this->getReference('grass-terrain')); $hexagon3_2->setQ(-1); $hexagon3_2->setR(2); $hexagon3_3 = new Hexagon(); $hexagon3_3->setIsland($this->getReference('island3')); $hexagon3_3->setTerrainType($this->getReference('grass-terrain')); $hexagon3_3->setQ(0); $hexagon3_3->setR(1); $hexagon3_4 = new Hexagon(); $hexagon3_4->setIsland($this->getReference('island3')); $hexagon3_4->setTerrainType($this->getReference('rock-terrain')); $hexagon3_4->setQ(0); $hexagon3_4->setR(0); $hexagon3_5 = new Hexagon(); $hexagon3_5->setIsland($this->getReference('island3')); $hexagon3_5->setTerrainType($this->getReference('rock-terrain')); $hexagon3_5->setQ(-1); $hexagon3_5->setR(0); $hexagon3_6 = new Hexagon(); $hexagon3_6->setIsland($this->getReference('island3')); $hexagon3_6->setTerrainType($this->getReference('desert-terrain')); $hexagon3_6->setQ(1); $hexagon3_6->setR(-1); $hexagon3_7 = new Hexagon(); $hexagon3_7->setIsland($this->getReference('island3')); $hexagon3_7->setTerrainType($this->getReference('desert-terrain')); $hexagon3_7->setQ(1); $hexagon3_7->setR(-2); $hexagon3_8 = new Hexagon(); $hexagon3_8->setIsland($this->getReference('island3')); $hexagon3_8->setTerrainType($this->getReference('desert-terrain')); $hexagon3_8->setQ(0); $hexagon3_8->setR(-2); $manager->persist($hexagon1_1); $manager->persist($hexagon1_2); $manager->persist($hexagon1_3); $manager->persist($hexagon1_4); $manager->persist($hexagon1_5); $manager->persist($hexagon1_6); $manager->persist($hexagon1_7); $manager->persist($hexagon2_1); $manager->persist($hexagon2_2); $manager->persist($hexagon2_3); $manager->persist($hexagon2_4); $manager->persist($hexagon2_5); $manager->persist($hexagon2_6); $manager->persist($hexagon2_7); $manager->persist($hexagon2_8); $manager->persist($hexagon2_9); $manager->persist($hexagon3_1); $manager->persist($hexagon3_2); $manager->persist($hexagon3_3); $manager->persist($hexagon3_4); $manager->persist($hexagon3_5); $manager->persist($hexagon3_6); $manager->persist($hexagon3_7); $manager->persist($hexagon3_8); $manager->flush(); $this->addReference('hex-grass0', $hexagon1_1); $this->addReference('hex-grass1', $hexagon1_2); $this->addReference('hex-grass2', $hexagon1_3); $this->addReference('hex-grass3', $hexagon2_4); $this->addReference('hex-grass4', $hexagon2_5); $this->addReference('hex-grass5', $hexagon2_6); $this->addReference('hex-grass6', $hexagon3_1); $this->addReference('hex-grass7', $hexagon3_2); $this->addReference('hex-grass8', $hexagon3_3); $this->addReference('hex-desert0', $hexagon1_4); $this->addReference('hex-desert1', $hexagon1_6); $this->addReference('hex-desert2', $hexagon1_7); $this->addReference('hex-desert3', $hexagon2_7); $this->addReference('hex-desert4', $hexagon2_8); $this->addReference('hex-desert5', $hexagon2_9); $this->addReference('hex-desert6', $hexagon3_6); $this->addReference('hex-desert7', $hexagon3_7); $this->addReference('hex-desert8', $hexagon3_8); }