public function attached($presenter) { parent::attached($presenter); $this->wdata = $this->WDataModel->get($this->presenter->getParameter('destination')); $this->template->village = $this->village = $this->villageService->getVillage($this->presenter->getParameter('id')); $this->units = $this->unitService->getUnits($this->village); $this->template->units = $this->units; $this->template->names = $this->unitService->getNames(); $unitData = []; switch ($this->village->getOwner()->tribe) { case App\FrontModule\Model\User\UserService::TRIBE_ROMANS: foreach (App\GameModule\Model\Units\UnitService::ROMANS as $unit) { $unitData[] = $this->unitFactory->getUnit($unit); } break; case App\FrontModule\Model\User\UserService::TRIBE_TEUTONS: foreach (App\GameModule\Model\Units\UnitService::TEUTONS as $unit) { $unitData[] = $this->unitFactory->getUnit($unit); } break; case App\FrontModule\Model\User\UserService::TRIBE_GAULS: foreach (App\GameModule\Model\Units\UnitService::GAULS as $unit) { $unitData[] = $this->unitFactory->getUnit($unit); } break; } $this->template->unitData = $unitData; $this->template->setFile(__DIR__ . '/SendUnitsControl.latte'); }
public function renderStable() { $this->units = $this->unitService->getAvailableUnits($this->village, App\GameModule\Model\Building\BuildingModel::STABLE); $this->template->units = $this->units; $this->template->available = $this->unitService->getTrainableUnits($this->village, $this->units); $this->template->current = $this->unitService->getUnits($this->village); $queue = $this->trainingModel->getByBuilding($this->village, App\GameModule\Model\Building\BuildingModel::STABLE); foreach ($queue as $item) { $item->unit = $this->unitFactory->getUnit($item->unit); } $this->template->queue = $queue; $this->template->setFile(__DIR__ . '/Template/Stable.latte'); }
/** * @param App\GameModule\DTO\Village $village * @param int $building * @return array */ public function getAvailableUnits($village, $building) { $units = []; if ($village->getOwner()->tribe === App\FrontModule\Model\User\UserService::TRIBE_ROMANS) { switch ($building) { case App\GameModule\Model\Building\BuildingModel::BARRACKS: $barracks = $this->buildingService->isBuilt($village, App\GameModule\Model\Building\BuildingModel::BARRACKS); $units[] = $this->unitFactory->getUnit(self::LEGIONNAIRE, $barracks); // TODO RESEARCH break; case App\GameModule\Model\Building\BuildingModel::STABLE: // TODO RESEARCH break; case App\GameModule\Model\Building\BuildingModel::WORKSHOP: // TODO RESEARCH break; case App\GameModule\Model\Building\BuildingModel::RESIDENCE: $residence = $this->buildingService->isBuilt($village, App\GameModule\Model\Building\BuildingModel::RESIDENCE); $units[] = $this->unitFactory->getUnit(self::SETTLER, $residence); break; case App\GameModule\Model\Building\BuildingModel::PALACE: $palace = $this->buildingService->isBuilt($village, App\GameModule\Model\Building\BuildingModel::PALACE); $units[] = $this->unitFactory->getUnit(self::SETTLER, $palace); break; } } elseif ($village->getOwner()->tribe === App\FrontModule\Model\User\UserService::TRIBE_TEUTONS) { switch ($building) { case App\GameModule\Model\Building\BuildingModel::BARRACKS: $barracks = $this->buildingService->isBuilt($village, App\GameModule\Model\Building\BuildingModel::BARRACKS); $units[] = $this->unitFactory->getUnit(self::MACEMAN, $barracks); // TODO RESEARCH break; case App\GameModule\Model\Building\BuildingModel::STABLE: // TODO RESEARCH break; case App\GameModule\Model\Building\BuildingModel::WORKSHOP: // TODO RESEARCH break; case App\GameModule\Model\Building\BuildingModel::RESIDENCE: $residence = $this->buildingService->isBuilt($village, App\GameModule\Model\Building\BuildingModel::RESIDENCE); $units[] = $this->unitFactory->getUnit(self::SETTLER_TEUTON, $residence); break; case App\GameModule\Model\Building\BuildingModel::PALACE: $palace = $this->buildingService->isBuilt($village, App\GameModule\Model\Building\BuildingModel::PALACE); $units[] = $this->unitFactory->getUnit(self::SETTLER_TEUTON, $palace); break; } } elseif ($village->getOwner()->tribe === App\FrontModule\Model\User\UserService::TRIBE_GAULS) { switch ($building) { case App\GameModule\Model\Building\BuildingModel::BARRACKS: $barracks = $this->buildingService->isBuilt($village, App\GameModule\Model\Building\BuildingModel::BARRACKS); $units[] = $this->unitFactory->getUnit(self::PHALANX, $barracks); // TODO RESEARCH break; case App\GameModule\Model\Building\BuildingModel::STABLE: // TODO RESEARCH break; case App\GameModule\Model\Building\BuildingModel::WORKSHOP: // TODO RESEARCH break; case App\GameModule\Model\Building\BuildingModel::RESIDENCE: $residence = $this->buildingService->isBuilt($village, App\GameModule\Model\Building\BuildingModel::RESIDENCE); $units[] = $this->unitFactory->getUnit(self::SETTLER_GAUL, $residence); break; case App\GameModule\Model\Building\BuildingModel::PALACE: $palace = $this->buildingService->isBuilt($village, App\GameModule\Model\Building\BuildingModel::PALACE); $units[] = $this->unitFactory->getUnit(self::SETTLER_GAUL, $palace); break; } } return $units; }