<?php
namespace App\Controller;
use App\Entity\Location\Town;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
/**
* @Route("/guide")
*/
class GuideController extends AbstractController
{
/**
* @Route("", name="guide_index")
*
* @return Response
*/
public function guide(): Response
{
return $this->render('guide/index.html.twig', [
'page' => 'guide',
'menu' => 'gameplay',
]);
}
/**
* @Route("/{subpage}", name="guide_subpage")
*
* @param string $subpage
*
* @return Response
*/
public function guideSubpage(string $subpage): Response
{
$subpage = str_replace('-', '_', $subpage);
// Validate $subpage
$projectRoot = $this->getParameter('kernel.project_dir');
$templateFilePath = $projectRoot . '/templates/guide/' . $subpage . '.html.twig';
if (!file_exists($templateFilePath)) {
return $this->redirectToRoute('guide_index');
}
return $this->render('guide/' . $subpage . '.html.twig', [
'page' => 'guide',
'menu' => $subpage,
'pvpTownTypes' => Town::TOWN_TYPES_PVP,
'pveTownTypes' => Town::TOWN_TYPES_PVE,
]);
}
/**
* @Route("/quickguide/resources", name="quickguide")
*
* @return Response
*/
public function quickguide(): Response
{
return $this->render('quickguide/resources.html.twig');
}
/**
* @Route("/quickguide/army", name="quickguide_army")
*
* @return Response
*/
public function quickguideArmy(): Response
{
return $this->render('quickguide/army.html.twig');
}
/**
* @Route("/quickguide/specop", name="quickguide_specop")
*
* @return Response
*/
public function quickguideSpecop(): Response
{
return $this->render('quickguide/specop.html.twig');
}
/**
* @Route("/quickguide/tech", name="quickguide_tech")
*
* @return Response
*/
public function quickguideTech(): Response
{
return $this->render('quickguide/techtree.html.twig');
}
}