Exemple #1
0
 def serialize(self, bit_stream: BitStream):
     bit_stream.write_start()
     self.id = ObjectID()
     self.id.serialize(bit_stream)
     self.parent_id = ObjectID()
     self.parent_id.serialize(bit_stream)
     bit_stream.write_int(len(self.components))
     for item in self.components:
         bit_stream.write_str(item)
     bit_stream.write_int(len(self.parent_components))
     for item in self.parent_components:
         bit_stream.write_str(item)
     bit_stream.write_dt(self.create_time)
     bit_stream.write_dt(self.modified_time)
     bit_stream.write_int(len(self.properties))
     for key in self.properties:
         bit_stream.write_str(key)
         bit_stream.write_int(len(self.properties[key]))
         for item in self.properties[key]:
             bit_stream.write_str(item)
     bit_stream.write_int(len(self.children_group))
     for key in self.children_group:
         bit_stream.write_str(key)
         bit_stream.write_int(len(self.children_group[key]))
         for item in self.children_group[key]:
             bit_stream.write_int(len(item))
             for list_item in item:
                 list_item.serialize(bit_stream)
Exemple #2
0
 def serialize(self, bit_stream: BitStream):
     bit_stream.write_start()
     self.aw_object_id.serialize(bit_stream)
     self.invite_player_id.serialize(bit_stream)
     self.player_id.serialize(bit_stream)
     bit_stream.write_bool(self.is_player_home)
     bit_stream.write_int(self.invite_status)
     bit_stream.write_dt(self.invite_date)
     bit_stream.write_dt(self.blocked_date)
Exemple #3
0
 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)
Exemple #4
0
 def serialize(self, bit_stream: BitStream):
     bit_stream.write_start()
     self.aw_object_id.serialize(bit_stream)
     self.from_player_id.serialize(bit_stream)
     bit_stream.write_str(self.from_player_name)
     self.to_player_id.serialize(bit_stream)
     bit_stream.write_str(self.village_name)
     self.village_id.serialize(bit_stream)
     self.object_id.serialize(bit_stream)
     bit_stream.write_str(self.notification_text)
     self.notification.serialize(bit_stream)
     bit_stream.write_bool(self.is_read)
     bit_stream.write_dt(self.create_date)
     bit_stream.write_dt(self.expiry_date)
Exemple #5
0
 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)
Exemple #6
0
 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)
Exemple #7
0
 def serialize(self, bit_stream: BitStream):
     bit_stream.write_start()
     if self.player_maze:
         self.player_maze.serialize(bit_stream)
     else:
         bit_stream.write_none()
     bit_stream.write_str(self.player_name)
     bit_stream.write_bool(self.findable)
     bit_stream.write_dt(self.findable_date)
     if self.home_theme:
         self.home_theme.serialize(bit_stream)
     else:
         bit_stream.write_none()
     if self.player_id:
         self.player_id.serialize(bit_stream)
     else:
         bit_stream.write_none()
     bit_stream.write_int(len(self.player_mazes))
     for item in self.player_mazes:
         item.serialize(bit_stream)
Exemple #8
0
 def serialize(self, bit_stream: BitStream):
     bit_stream.write_start()
     self.aw_object_id.serialize(bit_stream)
     bit_stream.write_dt(self.create_date)
     bit_stream.write_dt(self.accepted_date)
     bit_stream.write_dt(self.started_date)
     bit_stream.write_dt(self.expiry_date)
     bit_stream.write_dt(self.completed_date)
     self.player_id.serialize(bit_stream)
     self.quest_state_id.serialize(bit_stream)
     bit_stream.write_str(self.quest_state_name)
     self.player_avatar_id.serialize(bit_stream)
     self.parent_player_quest_id.serialize(bit_stream)
     self.quest.serialize(bit_stream)
     bit_stream.write_int(self.player_level)
     bit_stream.write_int(self.npc_relationship_level)
     bit_stream.write_int(self.npc_relationship_points)
     bit_stream.write_int(self.player_money)
     bit_stream.write_int(self.player_xp)
     bit_stream.write_bool(self.unlocked)
     self.rule_property.serialize(bit_stream)
Exemple #9
0
 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)
Exemple #10
0
 def serialize(self, bit_stream: BitStream):
     bit_stream.write_start()
     self.tier_id.serialize(bit_stream)
     bit_stream.write_str(self.player_name)
     bit_stream.write_str(self.world_name)
     self.crisp_data.serialize(bit_stream)
     bit_stream.write_bool(self.verified)
     bit_stream.write_dt(self.verification_expiry)
     bit_stream.write_dt(self.scs_block_expiry)
     self.eula_id.serialize(bit_stream)
     self.current_eula_id.serialize(bit_stream)
     bit_stream.write_bool(self.u_13)
     bit_stream.write_bool(self.chat_blocked_parent)
     bit_stream.write_bool(self.chat_allowed)
     bit_stream.write_dt(self.chat_blocked_expiry)
     bit_stream.write_bool(self.findable)
     bit_stream.write_dt(self.findable_date)
     bit_stream.write_dt(self.user_subscription_expiry_date)
     bit_stream.write_bool(self.qa)
     bit_stream.write_int(len(self.player_settings))
     for ps in self.player_settings:
         ps.serialize(bit_stream)
Exemple #11
0
 def serialize(self, bit_stream: BitStream):
     bit_stream.write_start()
     self.crisp_action_id.serialize(bit_stream)
     bit_stream.write_str(self.crisp_message)
     bit_stream.write_dt(self.crisp_expiry_date)
     bit_stream.write_bool(self.crisp_confirmed)
Exemple #12
0
 def test_read_write_datetime(self):
     value = dt.datetime(2020, 3, 27, 19, 30, 42)
     bit_stream = BitStream()
     bit_stream.write_dt(value)
     bit_stream.cursor = 0
     self.assertEqual(str(bit_stream.read_dt()), str(value))