PL
games/doom-jumphp / src / Scene / PauseScene.php · commit 8e1cb9f
<?phpnamespace App\Scene;use JumPHP\Ui\MenuScene;/** Pause menu, pushed over the game: isOverlay() keeps the frozen view under it. */final class PauseScene extends MenuScene{    protected string $title = 'PAUSE';    protected float $titleScale = 2.0;    protected float $menuTop = 0.4;    public function isOverlay(): bool    {        return true;    }    protected function items(): array    {        return [            ['RESUME', null, fn () => $this->scenes()->pop()],            ['OPTIONS', null, fn () => $this->scenes()->push(OptionsScene::class)],            ['HOW TO PLAY', null, fn () => $this->scenes()->push(HelpScene::class)],            ['QUIT TO TITLE', null, fn () => $this->scenes()->switchTo(TitleScene::class)],        ];    }    protected function back(): void    {        $this->scenes()->pop();    }    public function update(float $dt): void    {        if ($this->actions()->isPressed('pause') && !$this->actions()->isPressed('back')) {            $this->scenes()->pop();            return;        }        parent::update($dt);    }}