import 'package:wolf_3d_dart/wolf_3d_data_types.dart';
import 'package:wolf_3d_dart/wolf_3d_engine.dart';

class CliSilentAudio implements EngineAudio {
  @override
  WolfensteinData? activeGame;

  @override
  Future<void> init() async {
    // No-op for CLI
  }

  @override
  void playMenuMusic() {}

  @override
  void playLevelMusic(Music music) {}

  @override
  void stopMusic() {}

  @override
  Future<void> stopAllAudio() async {}

  @override
  void playSoundEffect(SoundEffect effect) {
    // Optional: You could use the terminal 'bell' character here
    // to actually make a system beep when a sound plays!
    // stdout.write('\x07');
  }

  @override
  void playSoundEffectId(int sfxId) {
    // Optional: You could use the terminal 'bell' character here
    // to actually make a system beep when a sound plays!
    // stdout.write('\x07');
  }

  @override
  void dispose() {}

  @override
  Future<void> debugSoundTest() async {
    return Future.value(null);
  }
}
