Class: Openra::Replays::Packet

Inherits:
BinData::Record
  • Object
show all
Defined in:
lib/openra/replays/packet.rb

Instance Method Summary collapse

Instance Method Details

#order_listObject



19
20
21
22
23
# File 'lib/openra/replays/packet.rb', line 19

def order_list
  return unless valid_order_list?

  @order_list ||= OrderList.read(data)
end

#ordersObject



11
12
13
14
15
16
17
# File 'lib/openra/replays/packet.rb', line 11

def orders
  return [] unless valid_order_list?

  @orders ||= order_list.orders.map do |order|
    OrderDecorator.new(order, client_index, order_list.frame)
  end
end

#valid_order_list?Boolean

Returns:

  • (Boolean)


25
26
27
28
29
30
31
32
33
# File 'lib/openra/replays/packet.rb', line 25

def valid_order_list?
  return @valid_order_list if defined?(@valid_order_list)

  @valid_order_list = begin
    !(data.bytesize < 5 ||
      data.bytesize == 5 && data.bytes.last == 0xBF ||
      data.bytesize >= 5 && data.bytes[4] == 0x65)
  end
end