Toevoeging van meer responses op messages

This commit is contained in:
Frank
2026-01-05 23:37:36 +01:00
parent 376ed3f592
commit 812dc06988
10 changed files with 340 additions and 22 deletions
+41
View File
@@ -4,14 +4,19 @@ namespace App\Game\Service;
use App\Game\Entity\Game;
use App\Game\Entity\Player;
use App\Game\Enum\SessionSettingType;
use App\Game\Enum\SessionStatus;
use App\Game\Repository\PlayerRepository;
use App\Game\Repository\SessionSettingRepository;
use App\Tech\Entity\User;
use Doctrine\ORM\EntityManagerInterface;
class PlayerService
{
public function __construct(
private PlayerRepository $playerRepository,
private SessionSettingRepository $sessionSettingRepository,
private EntityManagerInterface $entityManager,
) {
}
@@ -32,4 +37,40 @@ class PlayerService
return $player;
}
public function getCurrentPwdOfPlayer(Player $player) : ?string {
$settingName = match($player->getScreen()) {
1 => SessionSettingType::PWD_FOR_PLAYER1,
2 => SessionSettingType::PWD_FOR_PLAYER2,
3 => SessionSettingType::PWD_FOR_PLAYER3,
default => null,
};
if (!$settingName) {
return null;
}
$setting = $this->sessionSettingRepository->getSetting($player->getSession(), $settingName, $player);
return $setting?->getValue();
}
public function saveCurrentPwdOfPlayer(Player $player, string $newLocation)
{
$settingName = match($player->getScreen()) {
1 => SessionSettingType::PWD_FOR_PLAYER1,
2 => SessionSettingType::PWD_FOR_PLAYER2,
3 => SessionSettingType::PWD_FOR_PLAYER3,
default => null,
};
if (!$settingName) {
return;
}
$setting = $this->sessionSettingRepository->getSetting($player->getSession(), $settingName, $player);
$setting->setValue($newLocation);
$this->entityManager->persist($setting);
$this->entityManager->flush();
}
}