Class: RoadToRubykaigi::Manager::AudioManager
- Inherits:
-
Object
- Object
- RoadToRubykaigi::Manager::AudioManager
- Includes:
- Singleton
- Defined in:
- lib/road_to_rubykaigi/manager/audio_manager.rb
Constant Summary collapse
- SOUND_FILES =
{ attack: %w[ lib/road_to_rubykaigi/audio/wav/attack_03.wav lib/road_to_rubykaigi/audio/wav/attack_04.wav lib/road_to_rubykaigi/audio/wav/attack_05.wav ], bonus: %w[lib/road_to_rubykaigi/audio/wav/bonus.wav], crouch: %w[lib/road_to_rubykaigi/audio/wav/crouch.wav], defeat: %w[lib/road_to_rubykaigi/audio/wav/defeat.wav], game_over: %w[lib/road_to_rubykaigi/audio/wav/game_over.wav], jump: %w[lib/road_to_rubykaigi/audio/wav/jump.wav], laptop: %w[lib/road_to_rubykaigi/audio/wav/laptop.wav], stun: %w[lib/road_to_rubykaigi/audio/wav/stun.wav], walk: %w[ lib/road_to_rubykaigi/audio/wav/walk_01.wav lib/road_to_rubykaigi/audio/wav/walk_02.wav ], }
- WALK_SOUND_INTERVAL =
0.25
Instance Method Summary collapse
Instance Method Details
#fanfare ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/road_to_rubykaigi/manager/audio_manager.rb', line 33 def fanfare @audio_engine.mute @audio_engine.remove_source(@bass_sequencer) @audio_engine.remove_source(@melody_sequencer) @audio_engine.unmute @audio_engine.add_source(@fanfare_sequencer) end |
#fanfare_finished? ⇒ Boolean
41 42 43 |
# File 'lib/road_to_rubykaigi/manager/audio_manager.rb', line 41 def fanfare_finished? @fanfare_sequencer.finished? end |
#game_over ⇒ Object
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/road_to_rubykaigi/manager/audio_manager.rb', line 45 def game_over @sources[:game_over].first.tap do |source| @audio_engine.remove_source(@bass_sequencer) @audio_engine.remove_source(@melody_sequencer) @audio_engine.add_source(source) until source.finished? sleep 0.1 end end end |
#walk ⇒ Object
56 57 58 59 60 61 62 63 |
# File 'lib/road_to_rubykaigi/manager/audio_manager.rb', line 56 def walk now = Time.now if (now - @last_walk_time) >= WALK_SOUND_INTERVAL @audio_engine.add_source(@sources[:walk][@walk_index]) @last_walk_time = now @walk_index = (@walk_index + 1) % @sources[:walk].size end end |