get('x'), $request->get('y')); $building = Model::getByVillage($village->id, $request->get('type')) ?? Model::getEmpty($village->id, $request->get('type')); // resources $resourceRequirements = $building->getResourceRequirements(); // event $event = new Event(); $event->time = (new \DateTime())->add(\DateInterval::createFromDateString( $building->getBuildTimeForLevel($building->getEffectiveLevel() + 1) . ' seconds' )); $event->villageId = $building->villageId; $upgradeBuildingEvent = new UpgradeBuilding(); $upgradeBuildingEvent->event = $event; $upgradeBuildingEvent->type = $building->type; $upgradeBuildingEvent->wood = $resourceRequirements['wood']; $upgradeBuildingEvent->clay = $resourceRequirements['clay']; $upgradeBuildingEvent->iron = $resourceRequirements['iron']; $upgradeBuildingEvent->create(); return new RedirectResponse( Router::generate( 'village.show', ['x' => $request->get('x'), 'y' => $request->get('y')] ) ); } }