module UR::Serialize
Public Class Methods
get_item_size(data_type)
click to toggle source
# File lib/serialize.rb, line 43 def self.get_item_size(data_type) if data_type.start_with? 'VECTOR6' 6 elsif data_type.start_with? 'VECTOR3' 3 else 1 end end
unpack_field(data, offset, data_type)
click to toggle source
# File lib/serialize.rb, line 53 def self.unpack_field(data, offset, data_type) size = self.get_item_size(data_type) if data_type == 'VECTOR6D' or data_type == 'VECTOR3D' data[offset...offset+size].map(&:to_f) elsif data_type == 'VECTOR6UINT32' data[offset...offset+size].map(&:to_i) elsif data_type == 'DOUBLE' data[offset].to_f elsif data_type == 'UINT32' or data_type == 'UINT64' data[offset].to_i elsif data_type == 'VECTOR6INT32' data[offset...offset+size].map(&:to_i) elsif data_type == 'INT32' or data_type == 'UINT8' data[offset].to_i elsif data_type == 'BOOL' data[offset].to_i > 0 ? true : false else raise TypeError.new('unpack_field: unknown data type: ' + data_type) end end
Public Instance Methods
[](item)
click to toggle source
# File lib/serialize.rb, line 73 def [](item) @values[item] end