Загрузка данных


import { SteamButton } from '../utils/uiComponents.js';


export default class MainMenuScene extends Phaser.Scene {
    constructor() {
        super({ key: 'MainMenuScene' });
    }

    // Сцена сама определяет, что ей нужно!
    // Мы просто создали список-переменную прямо внутри класса
    resources = [
        { key: 'menu_background', category: 'images', scene: 'menu'},
    ];


    preload() {
        console.log('MainMenuScene - загрузка');

        let loadText = this.add.text(960, 540, 'Подождите, загрузка...',{
            fontFamily: 'Roboto Slab',
            fontSize: '40px',
            fill: '#ff8c00'}).setOrigin(0.5);

        const assetManager = this.registry.get('assetManager');

        if (assetManager && this.resources){
            this.resources.forEach( asset => {
                const fullPath = assetManager.getImagePath(
                    asset.category,
                    asset.scene,
                    asset.key
                )
                if (asset.category === 'images') {
                    this.load.image(asset.key, fullPath);
                }
            })
        }
    }


    create() {
        console.log('MainMenuScene: Отрисовка экрана');
        // Выводим фон по центру экрана (1920x1080)
        this.add.image(960, 540, 'menu_background');

        // Создаем обычную кнопку переключения сцены (без fetch)
        const playBtn = new SteamButton(this, 960, 450, 'ИГРАТЬ', 'button');
        playBtn.image.on('button_clicked', () => {
            this.scene.start('CreatePersonScene'); // Переходим в игру
        });

        // Создаем кнопку, которая автоматически отправит POST-запрос на FastAPI!
        // Она сама сделает fetch на http://127.0.0.1
        const gaugeBtn = new SteamButton(this, 960, 600, 'НАГНЕТАТЬ ПАР', 'button', 'button_down');


        // 1. Ставим кнопку фулскрина в правый верхний угол (координаты под разрешение 1920x1080)
        let fsButton = this.add.image(200, 200, 'button')
            .setInteractive({ useHandCursor: true })
            .setScrollFactor(0); // Чтобы кнопка не улетала, если камера в игре будет двигаться

        // 2. Логика ховера (подсветка при наведении)
        fsButton.on('pointerover', () => fsButton.setTint(0xff8c00));
        fsButton.on('pointerout', () => fsButton.clearTint());

        // 3. Главная магия: переключение режима при клике
        fsButton.on('pointerdown', () => {
            // Проверяем, запущен ли уже полноэкранный режим внутри Phaser
            if (this.scale.isFullscreen) {
                // Если да — принудительно возвращаем игру обратно в окошко вкладки
                this.scale.stopFullscreen();
                console.log('Вышли из полноэкранного режима');
            } else {
                // Если нет — разворачиваем игру на весь монитор!
                this.scale.startFullscreen();
                console.log('Перешли в полноэкранный режим');
            }
        });
    }



}