export class Weapons {
  private scene: any;
  private weapons: Map<string, any> = new Map();

  constructor(scene: any) {
    this.scene = scene;
    this.initializeWeapons();
  }

  private initializeWeapons() {
    // Pistol
    this.weapons.set('pistol', {
      name: 'Pistol',
      damage: 25,
      fireRate: 0.15, // Seconds between shots
      ammo: 15,
      maxAmmo: 15,
      spreadAngle: 0.05,
    });

    // Rifle
    this.weapons.set('rifle', {
      name: 'Rifle',
      damage: 50,
      fireRate: 0.3,
      ammo: 30,
      maxAmmo: 30,
      spreadAngle: 0.02,
    });

    // Shotgun
    this.weapons.set('shotgun', {
      name: 'Shotgun',
      damage: 75,
      fireRate: 0.6,
      ammo: 8,
      maxAmmo: 8,
      spreadAngle: 0.15,
    });
  }

  getWeapon(weaponName: string) {
    return this.weapons.get(weaponName) || this.weapons.get('pistol');
  }

  getAllWeapons() {
    return Array.from(this.weapons.values());
  }

  getWeaponList() {
    return Array.from(this.weapons.keys());
  }
}
