コード例 #1
0
ファイル: SendUnitsControl.php プロジェクト: Spameri/TravianZ
 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');
 }
コード例 #2
0
 public function actionDefault($id)
 {
     if (!$id) {
         /** @var \stdClass $field */
         $field = $this->VDataModel->getByUser($this->presenter->user->getId());
         $id = $field->wref;
     }
     $this->template->village = $this->villageService->getVillage($id);
     $this->template->units = $this->unitsModel->get($id);
     $this->template->unitNames = $this->unitService->getNames();
 }
コード例 #3
0
 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');
 }
コード例 #4
0
ファイル: MapPresenter.php プロジェクト: Spameri/TravianZ
 /**
  * @param int $id
  * @param int $wid
  */
 public function actionDetail($id, $wid)
 {
     $this->template->id = $id;
     $village = $this->villageService->getVillage($id);
     /** @var \stdClass $wdata */
     $this->template->wdata = $wdata = $this->WDataModel->get($wid);
     $this->template->reports = $this->reportService->getLastReportsForUser($wid, $this->user->getId());
     $this->template->rallyPoint = $this->buildingService->isBuilt($village, App\GameModule\Model\Building\BuildingModel::RALLY_POINT);
     if ($wdata->occupied === 1) {
         $this->template->village = $this->villageService->getVillage($wid);
     } else {
         $this->template->village = FALSE;
     }
     if ($wdata->oasistype != 0 && $wdata->occupied == 0) {
         $this->template->units = $this->unitsModel->get($wid);
         $this->template->unitNames = $this->unitService->getNames();
     } else {
         $this->template->units = [];
     }
 }