Class: Overlook::Csgo::Demo::GameEventMessageHandler
- Inherits:
-
Object
- Object
- Overlook::Csgo::Demo::GameEventMessageHandler
- Defined in:
- lib/overlook/csgo/demo/game_event_message_handler.rb
Instance Method Summary collapse
- #handle(message) ⇒ Object
-
#initialize(parser) ⇒ GameEventMessageHandler
constructor
A new instance of GameEventMessageHandler.
Constructor Details
#initialize(parser) ⇒ GameEventMessageHandler
Returns a new instance of GameEventMessageHandler.
5 6 7 |
# File 'lib/overlook/csgo/demo/game_event_message_handler.rb', line 5 def initialize(parser) @parser = parser end |
Instance Method Details
#handle(message) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/overlook/csgo/demo/game_event_message_handler.rb', line 9 def handle() = ::Csgo::CSVCMsg_GameEvent.decode() descriptor = @parser.descriptors[.eventid] event_keys = .keys || [] keys = descriptor.keys key_reader = KeyReader.new attributes = event_keys.each_with_index.inject({}) do |memo, (key, index)| memo[keys[index].name] = key_reader.read(key) memo end case descriptor.name when 'player_connect', 'player_connect_full' # @parser.emit ... when 'player_hurt' when 'weapon_fire' when 'bomb_beginplant', 'bomb_abortplant', 'bomb_planted', 'bomb_defused', 'bomb_exploded' when 'round_end' when 'begin_new_match' end end |