public function actionCancel($id) { $BData = $this->BDataModel->get($id); $this->BDataModel->delete($id); if ($BData->type < 19) { $this->redirect(':Game:OuterVillage:default', $BData->wid); } else { $this->redirect(':Game:InnerVillage:default', $BData->wid); } }
public function render() { $id = $this->presenter->getParameter('id'); if (!$id) { /** @var \stdClass $field */ $field = $this->VDataModel->getByUser($this->presenter->user->getId()); $id = $field->wref; } $this->template->buildings = $this->BDataModel->getBuildingQueue($id); $this->template->village = $this->villageService->getVillage($id); $this->template->names = $this->buildingModel->getAll(); $this->template->setFile(__DIR__ . '/BuildingControl.latte'); $this->template->render(); }
/** * @param App\GameModule\DTO\Building $building * @param int $field * @param App\GameModule\DTO\Village $village * @return bool */ public function canBuildLevel($building, $field, $village) { if (!$building) { return 'Building is at maximum level'; } $current = $this->getBuilding($village->getFData()['f' . $field . 't'], $village->getFData()['f' . $field], $village); if ($current) { if ($current->getLevel() === $building->getLevel()) { return 'Building is at same level.'; } /** @var \stdClass $maxLevel */ $maxLevel = $this->buildingModel->getBuildingMaxLevel($building->getBuilding()); if ($current->getLevel() === $maxLevel->level) { return 'Building is at maximum level'; } $queue = $this->BDataModel->getBuildingQueue($village->getId()); foreach ($queue as $single) { if ($single->level === $building->getLevel() && $single->type === $building->getBuilding() && $single->field == $field) { return 'Building is already being build.'; } if ($maxLevel->level === $single->level && $single->type === $building->getBuilding() && $single->field == $field) { return 'Building max level under construction'; } } } return TRUE; }