def serialize(self, bit_stream: BitStream): bit_stream.write_start() self.aw_object_id.serialize(bit_stream) bit_stream.write_str(self.asset_type_name) bit_stream.write_str(self.cdn_id) bit_stream.write_str(self.res_name) bit_stream.write_str(self.group_name) bit_stream.write_long(self.file_size)
def serialize(self, bit_stream: BitStream): bit_stream.write_start() self.aw_object_id.serialize(bit_stream) self.avatar.serialize(bit_stream) self.player_id.serialize(bit_stream) bit_stream.write_str(self.name) bit_stream.write_str(self.bio) bit_stream.write_str(self.secret_code) bit_stream.write_dt(self.create_ts) self.player_avatar_outfit_id.serialize(bit_stream) bit_stream.write_short(self.outfit_no) bit_stream.write_long(self.play_time, nullable=True) bit_stream.write_dt(self.last_play)
def test_read_write_primitive(self): int_values = [-32769, -32768, -128, -127, -8, -7, 0, 7, 8, 127, 128, 32768, 32769] bit_stream = BitStream() for i in int_values: bit_stream.write_int(i) bit_stream.write_long(i) bit_stream.write_str(str(i)) bit_stream.cursor = 0 for i in int_values: self.assertEqual(bit_stream.read_int(), i) self.assertEqual(bit_stream.read_long(), i) self.assertEqual(bit_stream.read_str(), str(i))
def serialize(self, bit_stream: BitStream): bit_stream.write_start() self.site_info.serialize(bit_stream) bit_stream.write_str(self.session_status.name) self.session_id.serialize(bit_stream) bit_stream.write_long(self.conversation_id) bit_stream.write_str(self.asset_delivery_url) self.player.serialize(bit_stream) bit_stream.write_short(self.max_outfit) bit_stream.write_int(len(self.player_stats)) for ps in self.player_stats: ps.serialize(bit_stream) self.player_info.serialize(bit_stream) bit_stream.write_dt(self.current_server_time) bit_stream.write_dt(self.system_lockout_time) bit_stream.write_dt(self.system_shutdown_time) bit_stream.write_int(self.client_inactivity_timeout) bit_stream.write_str(self.cnl)
def serialize(self, bit_stream: BitStream): bit_stream.write_start() self.aw_object_id.serialize(bit_stream) bit_stream.write_str(self.name) bit_stream.write_long(self.size) bit_stream.write_bytes(self.thumbnail) bit_stream.write_dt(self.publish_timestamp) bit_stream.write_short(self.num_rooms) bit_stream.write_short(self.num_tubes) bit_stream.write_short(self.rating, True) bit_stream.write_bool(self.is_locked) bit_stream.write_bool(self.is_home_maze) bit_stream.write_bool(self.is_published) bit_stream.write_bool(self.is_publish_expired) self.player_id.serialize(bit_stream) bit_stream.write_int(0) # GSFPlayerMazePieces self.home_theme.serialize(bit_stream) self.parent_id.serialize(bit_stream) self.source_id.serialize(bit_stream)
def serialize(self, bit_stream: BitStream): bit_stream.write_start() self.aw_object_id.serialize(bit_stream) bit_stream.write_dt(self.create_date) if self.active_player_avatar: self.active_player_avatar.serialize(bit_stream) else: bit_stream.write_none() self.home_theme_id.serialize(bit_stream) self.current_race_mode.serialize(bit_stream) bit_stream.write_str(self.workshop_options) bit_stream.write_bool(self.is_tutorial_completed) self.yard_building_id.serialize(bit_stream) bit_stream.write_dt(self.last_login) bit_stream.write_long(self.play_time, nullable=True) bit_stream.write_bool(self.is_qa) self.home_village_plot_id.serialize(bit_stream) self.store_village_plot_id.serialize(bit_stream) self.player_store_id.serialize(bit_stream) self.player_maze_id.serialize(bit_stream) self.village_id.serialize(bit_stream)
def serialize(self, bit_stream: BitStream): bit_stream.write_start() bit_stream.write_int(self.object_class) bit_stream.write_int(self.object_type) bit_stream.write_int(self.server) bit_stream.write_long(self.object_number)