class ZombieWorkerSystem { constructor(scene) { this.scene = scene; this.workers = []; // Array of tamed zombies (NPC objects) console.log('🧟 ZombieWorkerSystem: Initialized'); } registerWorker(npc) { if (!this.workers.includes(npc)) { this.workers.push(npc); npc.workerStats = { energy: 100, // Energija (pada ob delu) decay: 0, // Razpadanje (0-100%, 100% = smrt) xp: 0, // Izkušnje zombija level: 1, task: 'IDLE' // IDLE, FARM, MINE, GUARD, FOLLOW }; console.log(`🧟 Zombie ${this.workers.length} registered as Worker!`); // UI Feedback this.scene.events.emit('show-floating-text', { x: npc.sprite.x, y: npc.sprite.y - 50, text: "New Worker!", color: "#00FF00" }); } } unregisterWorker(npc) { const idx = this.workers.indexOf(npc); if (idx > -1) { this.workers.splice(idx, 1); console.log('🧟 Zombie Worker removed.'); } } update(time, delta) { // Update logic for all workers (e.g. decay, energy regen if sleeping) // This is called every frame, so keep it light. // Example: Decay tick every 10 seconds (handled by timer, or simplified here) } // Assign a task to all idle workers or specific one assignTask(taskName, targetPos) { // TODO: Poišči prostega delavca in mu daj nalogo } }