import { Component } from '../core/Component.js'; export class Inventory extends Component { constructor() { super('Inventory'); this.items = []; // Array of item objects this.maxSize = 20; this.equipped = { weapon: null, armor: null, accessory: null }; } /** * Add an item to inventory */ addItem(item) { if (this.items.length < this.maxSize) { this.items.push(item); return true; } return false; } /** * Remove an item */ removeItem(itemId) { const index = this.items.findIndex(item => item.id === itemId); if (index > -1) { return this.items.splice(index, 1)[0]; } return null; } /** * Equip an item */ equipItem(itemId, slot) { const item = this.items.find(i => i.id === itemId); if (!item) return false; // Unequip current item in slot if (this.equipped[slot]) { this.items.push(this.equipped[slot]); } // Equip new item this.equipped[slot] = item; const index = this.items.indexOf(item); if (index > -1) { this.items.splice(index, 1); } return true; } /** * Unequip an item */ unequipItem(slot) { if (this.equipped[slot]) { this.items.push(this.equipped[slot]); this.equipped[slot] = null; return true; } return false; } }