def _consume_actions(buffer):
compressed_byte_count = _consume_int(buffer)
compressed_data = buffer[:compressed_byte_count]
del buffer[:compressed_byte_count]
decompressed_data = lzma.decompress(compressed_data)
out = []
offset = 0
for raw_action in decompressed_data.split(b','):
if not raw_action:
continue
raw_offset, x, y, raw_action_mask = raw_action.split(b'|')
action_mask = ActionBitMask.unpack(int(raw_action_mask))
offset += int(raw_offset)
out.append(Action(
datetime.timedelta(milliseconds=offset),
Position(float(x), float(y)),
action_mask['m1'],
action_mask['m2'],
action_mask['k1'],
action_mask['k2'],
))
return out
评论列表
文章目录