Toevoeging van meer responses op messages
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user