public function processBuildings($time) { $buildings = $this->BDataModel->getBuilt($time); foreach ($buildings as $building) { $data = []; $village = $this->villageService->getVillage($building->wid); $buildingStats = $this->getBuilding($building->type, $building->level, $village); $this->FDataModel->update($building->wid, ['f' . $building->field => $building->level, 'f' . $building->field . 't' => $building->type]); $data['pop'] = $village->getPopulation() + $buildingStats->getUpkeep(); $data['cp'] = $village->getCulturePoints() + $buildingStats->getCulturePoints(); switch ($buildingStats->getBuilding()) { case BuildingModel::WAREHOUSE: $data['maxstore'] = $this->storageMultiplier * $buildingStats->getParameter(); break; case BuildingModel::GRANARY: $data['maxcrop'] = $this->storageMultiplier * $buildingStats->getParameter(); break; } $this->VDataModel->update($village->getId(), $data); $this->BDataModel->delete($building->id); } }