/** * DemoSceneEnhanced.js * ═══════════════════════════════════════════════════════════════ * 🎮 MINIMAL TILED MODE - No sprites, just intro text * ═══════════════════════════════════════════════════════════════ * User will add all content via Tiled Editor */ class DemoSceneEnhanced extends Phaser.Scene { constructor() { super({ key: 'DemoSceneEnhanced' }); } preload() { console.log('🎮 DemoSceneEnhanced: MINIMAL MODE - No sprites, just intro!'); // ═══════════════════════════════════════════════════════════════ // 🎮 TILED WORKFLOW MODE - NO SPRITE LOADING! // ═══════════════════════════════════════════════════════════════ // User will add all content via Tiled maps // This scene just shows intro text and empty world console.log('✅ No assets to load - Tiled mode!'); } create() { console.log('🎮 DemoSceneEnhanced: Creating EMPTY world + Intro text...'); // Setup empty world this.cameras.main.setBackgroundColor('#2a2a2a'); // Dark grey background this.cameras.main.setBounds(0, 0, 800, 600); this.physics.world.setBounds(0, 0, 800, 600); this.showIntroText(); console.log('✅ Empty world ready - Add content via Tiled!'); } showIntroText() { // ═══════════════════════════════════════════════════════════════ // 📖 INTRO TEXT - Game Story // ═══════════════════════════════════════════════════════════════ const centerX = 400; const centerY = 300; // Title this.add.text(centerX, 100, 'MRTVA DOLINA', { fontSize: '48px', color: '#ff0000', fontStyle: 'bold', stroke: '#000000', strokeThickness: 4 }).setOrigin(0.5); // Subtitle this.add.text(centerX, 160, 'Krvava Žetev', { fontSize: '32px', color: '#990000', fontStyle: 'italic' }).setOrigin(0.5); // Story intro const storyText = [ 'Svet je padel v kaos.', 'Zombiji hodijo med ruševinami.', 'Ti si Kai - preživeli najstnik.', '', 'Iščeš svojo sestro Ano...', '', 'Dobrodošel v Mrtvi Dolini.' ].join('\n'); this.add.text(centerX, centerY, storyText, { fontSize: '20px', color: '#ffffff', align: 'center', lineSpacing: 10, backgroundColor: '#00000088', padding: { x: 20, y: 20 } }).setOrigin(0.5); // Instructions this.add.text(centerX, 520, '[Press SPACE or click to start]', { fontSize: '18px', color: '#00ff00', fontStyle: 'italic' }).setOrigin(0.5); // Click to start this.input.keyboard.once('keydown-SPACE', () => { this.startGame(); }); this.input.once('pointerdown', () => { this.startGame(); }); } startGame() { console.log('🎮 Starting game...'); // Clear intro this.children.removeAll(); // Show "Add content via Tiled" message const centerX = 400; const centerY = 300; this.add.text(centerX, centerY, 'Empty World\n\nAdd content via Tiled Editor\n\n(Press ESC to see intro again)', { fontSize: '24px', color: '#ffffff', align: 'center', lineSpacing: 15, backgroundColor: '#00000088', padding: { x: 30, y: 30 } }).setOrigin(0.5); // ESC to go back to intro this.input.keyboard.on('keydown-ESC', () => { this.scene.restart(); }); } update() { // Empty - no game loop needed for intro screen } }