com.beamable 0.0.0-PREVIEW.NIGHTLY-202601071423 → 5.0.0-PREVIEW.RC10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1893) hide show
  1. package/.attestation.p7m +0 -0
  2. package/CHANGELOG.md +15 -1
  3. package/Common/Runtime/AgnosticAttribute.cs +52 -52
  4. package/Common/Runtime/AgnosticAttribute.cs.meta +11 -11
  5. package/Common/Runtime/Api/AliasHelper.cs +55 -55
  6. package/Common/Runtime/Api/AliasHelper.cs.meta +11 -11
  7. package/Common/Runtime/Api/Analytics/AnalyticsEventRequest.cs +2 -2
  8. package/Common/Runtime/Api/Analytics/AnalyticsEventRequest.cs.meta +11 -11
  9. package/Common/Runtime/Api/Analytics/AnalyticsService.cs +2 -2
  10. package/Common/Runtime/Api/Analytics/AnalyticsService.cs.meta +11 -11
  11. package/Common/Runtime/Api/Analytics/IBeamAnalyticsService.cs +2 -2
  12. package/Common/Runtime/Api/Analytics/IBeamAnalyticsService.cs.meta +11 -11
  13. package/Common/Runtime/Api/Analytics/Models/CoreEvent.cs +2 -2
  14. package/Common/Runtime/Api/Analytics/Models/CoreEvent.cs.meta +11 -11
  15. package/Common/Runtime/Api/Analytics/Models/IAnalyticsEvent.cs +2 -2
  16. package/Common/Runtime/Api/Analytics/Models/IAnalyticsEvent.cs.meta +11 -11
  17. package/Common/Runtime/Api/Analytics/Models/SampleCustomEvent.cs +2 -2
  18. package/Common/Runtime/Api/Analytics/Models/SampleCustomEvent.cs.meta +11 -11
  19. package/Common/Runtime/Api/Analytics/Models.meta +11 -11
  20. package/Common/Runtime/Api/Analytics.meta +11 -11
  21. package/Common/Runtime/Api/Announcements/AbsAnnouncementsApi.cs +68 -68
  22. package/Common/Runtime/Api/Announcements/AbsAnnouncementsApi.cs.meta +11 -11
  23. package/Common/Runtime/Api/Announcements/IAnnouncementsApi.cs +388 -388
  24. package/Common/Runtime/Api/Announcements/IAnnouncementsApi.cs.meta +11 -11
  25. package/Common/Runtime/Api/Announcements.meta +11 -11
  26. package/Common/Runtime/Api/Auth/AuthApi.cs +981 -981
  27. package/Common/Runtime/Api/Auth/AuthApi.cs.meta +11 -11
  28. package/Common/Runtime/Api/Auth/IAuthApi.cs +343 -343
  29. package/Common/Runtime/Api/Auth/IAuthApi.cs.meta +11 -11
  30. package/Common/Runtime/Api/Auth.meta +11 -11
  31. package/Common/Runtime/Api/Calendars/AbsCalendarApi.cs +41 -41
  32. package/Common/Runtime/Api/Calendars/AbsCalendarApi.cs.meta +11 -11
  33. package/Common/Runtime/Api/Calendars/ICalendarApi.cs +120 -120
  34. package/Common/Runtime/Api/Calendars/ICalendarApi.cs.meta +11 -11
  35. package/Common/Runtime/Api/Calendars.meta +11 -11
  36. package/Common/Runtime/Api/Chat/ChatApi.cs +70 -70
  37. package/Common/Runtime/Api/Chat/ChatApi.cs.meta +11 -11
  38. package/Common/Runtime/Api/Chat/IChatApi.cs +184 -184
  39. package/Common/Runtime/Api/Chat/IChatApi.cs.meta +11 -11
  40. package/Common/Runtime/Api/Chat.meta +11 -11
  41. package/Common/Runtime/Api/CloudData/CloudDataApi.cs +127 -127
  42. package/Common/Runtime/Api/CloudData/CloudDataApi.cs.meta +11 -11
  43. package/Common/Runtime/Api/CloudData/ICloudDataApi.cs +42 -42
  44. package/Common/Runtime/Api/CloudData/ICloudDataApi.cs.meta +11 -11
  45. package/Common/Runtime/Api/CloudData.meta +11 -11
  46. package/Common/Runtime/Api/CometClientData.cs +69 -69
  47. package/Common/Runtime/Api/CometClientData.cs.meta +11 -11
  48. package/Common/Runtime/Api/Commerce/ICommerceApi.cs +10 -10
  49. package/Common/Runtime/Api/Commerce/ICommerceApi.cs.meta +11 -11
  50. package/Common/Runtime/Api/Commerce.meta +11 -11
  51. package/Common/Runtime/Api/Content/IContentApi.cs +167 -167
  52. package/Common/Runtime/Api/Content/IContentApi.cs.meta +11 -11
  53. package/Common/Runtime/Api/Content.meta +11 -11
  54. package/Common/Runtime/Api/Events/AbsEventsApi.cs +50 -50
  55. package/Common/Runtime/Api/Events/AbsEventsApi.cs.meta +11 -11
  56. package/Common/Runtime/Api/Events/IEventsApi.cs +166 -166
  57. package/Common/Runtime/Api/Events/IEventsApi.cs.meta +11 -11
  58. package/Common/Runtime/Api/Events.meta +11 -11
  59. package/Common/Runtime/Api/Groups/GroupsApi.cs +762 -762
  60. package/Common/Runtime/Api/Groups/GroupsApi.cs.meta +11 -11
  61. package/Common/Runtime/Api/Groups/IGroupsApi.cs +211 -211
  62. package/Common/Runtime/Api/Groups/IGroupsApi.cs.meta +11 -11
  63. package/Common/Runtime/Api/Groups.meta +11 -11
  64. package/Common/Runtime/Api/IAccessToken.cs +48 -48
  65. package/Common/Runtime/Api/IAccessToken.cs.meta +11 -11
  66. package/Common/Runtime/Api/IBeamableFilesystemAccessor.cs +13 -13
  67. package/Common/Runtime/Api/IBeamableFilesystemAccessor.cs.meta +11 -11
  68. package/Common/Runtime/Api/IBeamableRequester.cs +770 -770
  69. package/Common/Runtime/Api/IBeamableRequester.cs.meta +11 -11
  70. package/Common/Runtime/Api/IConnectivityChecker.cs +49 -49
  71. package/Common/Runtime/Api/IConnectivityChecker.cs.meta +11 -11
  72. package/Common/Runtime/Api/IHasBeamableRequester.cs +12 -12
  73. package/Common/Runtime/Api/IHasBeamableRequester.cs.meta +11 -11
  74. package/Common/Runtime/Api/IServiceRoutingStrategy.cs +123 -123
  75. package/Common/Runtime/Api/IServiceRoutingStrategy.cs.meta +11 -11
  76. package/Common/Runtime/Api/ISupportsGet.cs +160 -160
  77. package/Common/Runtime/Api/ISupportsGet.cs.meta +11 -11
  78. package/Common/Runtime/Api/IUserContext.cs +22 -22
  79. package/Common/Runtime/Api/IUserContext.cs.meta +11 -11
  80. package/Common/Runtime/Api/IUserDataCache.cs +88 -88
  81. package/Common/Runtime/Api/IUserDataCache.cs.meta +11 -11
  82. package/Common/Runtime/Api/Inventory/IInventoryApi.cs +796 -796
  83. package/Common/Runtime/Api/Inventory/IInventoryApi.cs.meta +11 -11
  84. package/Common/Runtime/Api/Inventory/InventoryApi.cs +308 -308
  85. package/Common/Runtime/Api/Inventory/InventoryApi.cs.meta +11 -11
  86. package/Common/Runtime/Api/Inventory/InventoryUpdateBuilder.cs +712 -712
  87. package/Common/Runtime/Api/Inventory/InventoryUpdateBuilder.cs.meta +11 -11
  88. package/Common/Runtime/Api/Inventory.meta +11 -11
  89. package/Common/Runtime/Api/Leaderboards/ILeaderboardApi.cs +509 -509
  90. package/Common/Runtime/Api/Leaderboards/ILeaderboardApi.cs.meta +11 -11
  91. package/Common/Runtime/Api/Leaderboards/LeaderboardApi.cs +237 -237
  92. package/Common/Runtime/Api/Leaderboards/LeaderboardApi.cs.meta +11 -11
  93. package/Common/Runtime/Api/Leaderboards.meta +11 -11
  94. package/Common/Runtime/Api/Lobbies/ILobbyApi.cs +153 -153
  95. package/Common/Runtime/Api/Lobbies/ILobbyApi.cs.meta +11 -11
  96. package/Common/Runtime/Api/Lobbies/Lobby.cs +92 -92
  97. package/Common/Runtime/Api/Lobbies/Lobby.cs.meta +11 -11
  98. package/Common/Runtime/Api/Lobbies/LobbyNotification.cs +15 -15
  99. package/Common/Runtime/Api/Lobbies/LobbyNotification.cs.meta +11 -11
  100. package/Common/Runtime/Api/Lobbies/LobbyPlayer.cs +59 -59
  101. package/Common/Runtime/Api/Lobbies/LobbyPlayer.cs.meta +11 -11
  102. package/Common/Runtime/Api/Lobbies/LobbyRestriction.cs +19 -19
  103. package/Common/Runtime/Api/Lobbies/LobbyRestriction.cs.meta +11 -11
  104. package/Common/Runtime/Api/Lobbies/LobbyService.cs +191 -191
  105. package/Common/Runtime/Api/Lobbies/LobbyService.cs.meta +11 -11
  106. package/Common/Runtime/Api/Lobbies/LobbyUtils.cs +157 -157
  107. package/Common/Runtime/Api/Lobbies/LobbyUtils.cs.meta +11 -11
  108. package/Common/Runtime/Api/Lobbies/NotInLobby.cs +12 -12
  109. package/Common/Runtime/Api/Lobbies/NotInLobby.cs.meta +11 -11
  110. package/Common/Runtime/Api/Lobbies/Requests/AddTagsRequest.cs +36 -36
  111. package/Common/Runtime/Api/Lobbies/Requests/AddTagsRequest.cs.meta +11 -11
  112. package/Common/Runtime/Api/Lobbies/Requests/CreateLobbyRequest.cs +70 -70
  113. package/Common/Runtime/Api/Lobbies/Requests/CreateLobbyRequest.cs.meta +11 -11
  114. package/Common/Runtime/Api/Lobbies/Requests/JoinByPasscodeRequest.cs +30 -30
  115. package/Common/Runtime/Api/Lobbies/Requests/JoinByPasscodeRequest.cs.meta +11 -11
  116. package/Common/Runtime/Api/Lobbies/Requests/JoinLobbyRequest.cs +24 -24
  117. package/Common/Runtime/Api/Lobbies/Requests/JoinLobbyRequest.cs.meta +11 -11
  118. package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryRequest.cs +35 -35
  119. package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryRequest.cs.meta +11 -11
  120. package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryResponse.cs +19 -19
  121. package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryResponse.cs.meta +11 -11
  122. package/Common/Runtime/Api/Lobbies/Requests/RemoveFromLobbyRequest.cs +24 -24
  123. package/Common/Runtime/Api/Lobbies/Requests/RemoveFromLobbyRequest.cs.meta +11 -11
  124. package/Common/Runtime/Api/Lobbies/Requests/RemoveTagsRequest.cs +30 -30
  125. package/Common/Runtime/Api/Lobbies/Requests/RemoveTagsRequest.cs.meta +11 -11
  126. package/Common/Runtime/Api/Lobbies/Requests/UpdateLobbyRequest.cs +62 -62
  127. package/Common/Runtime/Api/Lobbies/Requests/UpdateLobbyRequest.cs.meta +11 -11
  128. package/Common/Runtime/Api/Lobbies/Requests.meta +11 -11
  129. package/Common/Runtime/Api/Lobbies.meta +11 -11
  130. package/Common/Runtime/Api/Mail/AbsMailApi.cs +704 -704
  131. package/Common/Runtime/Api/Mail/AbsMailApi.cs.meta +11 -11
  132. package/Common/Runtime/Api/Mail/IMailApi.cs +48 -48
  133. package/Common/Runtime/Api/Mail/IMailApi.cs.meta +11 -11
  134. package/Common/Runtime/Api/Mail.meta +11 -11
  135. package/Common/Runtime/Api/Notifications/INotificationService.cs +113 -113
  136. package/Common/Runtime/Api/Notifications/INotificationService.cs.meta +11 -11
  137. package/Common/Runtime/Api/Notifications/PrimitiveStringPayload.cs +13 -13
  138. package/Common/Runtime/Api/Notifications/PrimitiveStringPayload.cs.meta +11 -11
  139. package/Common/Runtime/Api/Notifications.meta +11 -11
  140. package/Common/Runtime/Api/Parties/IPartyApi.cs +96 -96
  141. package/Common/Runtime/Api/Parties/IPartyApi.cs.meta +11 -11
  142. package/Common/Runtime/Api/Parties/NotInParty.cs +11 -11
  143. package/Common/Runtime/Api/Parties/NotInParty.cs.meta +11 -11
  144. package/Common/Runtime/Api/Parties/Party.cs +59 -59
  145. package/Common/Runtime/Api/Parties/Party.cs.meta +11 -11
  146. package/Common/Runtime/Api/Parties/PartyNotifications.cs +55 -55
  147. package/Common/Runtime/Api/Parties/PartyNotifications.cs.meta +11 -11
  148. package/Common/Runtime/Api/Parties/PartyRestriction.cs +13 -13
  149. package/Common/Runtime/Api/Parties/PartyRestriction.cs.meta +11 -11
  150. package/Common/Runtime/Api/Parties/PartyService.cs +124 -124
  151. package/Common/Runtime/Api/Parties/PartyService.cs.meta +11 -11
  152. package/Common/Runtime/Api/Parties/Requests/CreatePartyRequest.cs +43 -43
  153. package/Common/Runtime/Api/Parties/Requests/CreatePartyRequest.cs.meta +11 -11
  154. package/Common/Runtime/Api/Parties/Requests/PartyQueryResponse.cs +19 -19
  155. package/Common/Runtime/Api/Parties/Requests/PartyQueryResponse.cs.meta +11 -11
  156. package/Common/Runtime/Api/Parties/Requests/PlayerRequest.cs +24 -24
  157. package/Common/Runtime/Api/Parties/Requests/PlayerRequest.cs.meta +11 -11
  158. package/Common/Runtime/Api/Parties/Requests/UpdatePartyRequest.cs +37 -37
  159. package/Common/Runtime/Api/Parties/Requests/UpdatePartyRequest.cs.meta +11 -11
  160. package/Common/Runtime/Api/Parties/Requests.meta +11 -11
  161. package/Common/Runtime/Api/Parties.meta +11 -11
  162. package/Common/Runtime/Api/Payments/IPaymentsApi.cs +14 -14
  163. package/Common/Runtime/Api/Payments/IPaymentsApi.cs.meta +11 -11
  164. package/Common/Runtime/Api/Payments/PaymentsApi.cs +33 -33
  165. package/Common/Runtime/Api/Payments/PaymentsApi.cs.meta +11 -11
  166. package/Common/Runtime/Api/Payments.meta +11 -11
  167. package/Common/Runtime/Api/Presence/IPresenceApi.cs +31 -31
  168. package/Common/Runtime/Api/Presence/IPresenceApi.cs.meta +11 -11
  169. package/Common/Runtime/Api/Presence/PresenceService.cs +165 -165
  170. package/Common/Runtime/Api/Presence/PresenceService.cs.meta +11 -11
  171. package/Common/Runtime/Api/Presence.meta +11 -11
  172. package/Common/Runtime/Api/Push/IPushApi.cs +9 -9
  173. package/Common/Runtime/Api/Push/IPushApi.cs.meta +11 -11
  174. package/Common/Runtime/Api/Push.meta +11 -11
  175. package/Common/Runtime/Api/QueryBuilder.cs +85 -85
  176. package/Common/Runtime/Api/QueryBuilder.cs.meta +11 -11
  177. package/Common/Runtime/Api/Realms/IAliasService.cs +98 -98
  178. package/Common/Runtime/Api/Realms/IAliasService.cs.meta +11 -11
  179. package/Common/Runtime/Api/Realms/IRealmApi.cs +17 -17
  180. package/Common/Runtime/Api/Realms/IRealmApi.cs.meta +11 -11
  181. package/Common/Runtime/Api/Realms/RealmService.cs +378 -378
  182. package/Common/Runtime/Api/Realms/RealmService.cs.meta +11 -11
  183. package/Common/Runtime/Api/Realms.meta +11 -11
  184. package/Common/Runtime/Api/SignedRequesterHelper.cs +2 -2
  185. package/Common/Runtime/Api/SignedRequesterHelper.cs.meta +11 -11
  186. package/Common/Runtime/Api/Social/ISocialApi.cs +76 -76
  187. package/Common/Runtime/Api/Social/ISocialApi.cs.meta +11 -11
  188. package/Common/Runtime/Api/Social/SocialApi.cs +329 -329
  189. package/Common/Runtime/Api/Social/SocialApi.cs.meta +11 -11
  190. package/Common/Runtime/Api/Social.meta +11 -11
  191. package/Common/Runtime/Api/Stats/AbsStatsApi.cs +345 -345
  192. package/Common/Runtime/Api/Stats/AbsStatsApi.cs.meta +11 -11
  193. package/Common/Runtime/Api/Stats/IStatsApi.cs +199 -199
  194. package/Common/Runtime/Api/Stats/IStatsApi.cs.meta +11 -11
  195. package/Common/Runtime/Api/Stats/StatsAccessType.cs +2 -2
  196. package/Common/Runtime/Api/Stats/StatsAccessType.cs.meta +11 -11
  197. package/Common/Runtime/Api/Stats/StatsApiHelper.cs +2 -2
  198. package/Common/Runtime/Api/Stats/StatsApiHelper.cs.meta +11 -11
  199. package/Common/Runtime/Api/Stats/StatsDomainType.cs +2 -2
  200. package/Common/Runtime/Api/Stats/StatsDomainType.cs.meta +11 -11
  201. package/Common/Runtime/Api/Stats.meta +11 -11
  202. package/Common/Runtime/Api/Tournaments/ITournamentApi.cs +626 -626
  203. package/Common/Runtime/Api/Tournaments/ITournamentApi.cs.meta +11 -11
  204. package/Common/Runtime/Api/Tournaments/TournamentApi.cs +284 -284
  205. package/Common/Runtime/Api/Tournaments/TournamentApi.cs.meta +11 -11
  206. package/Common/Runtime/Api/Tournaments.meta +11 -11
  207. package/Common/Runtime/Api.meta +11 -11
  208. package/Common/Runtime/BeamCli/CliContractTypeAttribute.cs +12 -12
  209. package/Common/Runtime/BeamCli/CliContractTypeAttribute.cs.meta +11 -11
  210. package/Common/Runtime/BeamCli/CliOtelData.cs +25 -25
  211. package/Common/Runtime/BeamCli/CliOtelData.cs.meta +11 -11
  212. package/Common/Runtime/BeamCli/Contracts/CliLogMessage.cs +32 -32
  213. package/Common/Runtime/BeamCli/Contracts/CliLogMessage.cs.meta +11 -11
  214. package/Common/Runtime/BeamCli/Contracts/CollectorStatus.cs +2 -2
  215. package/Common/Runtime/BeamCli/Contracts/CollectorStatus.cs.meta +11 -11
  216. package/Common/Runtime/BeamCli/Contracts/Constants.cs +33 -33
  217. package/Common/Runtime/BeamCli/Contracts/Constants.cs.meta +11 -11
  218. package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotActionType.cs +2 -2
  219. package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotActionType.cs.meta +11 -11
  220. package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotType.cs +2 -2
  221. package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotType.cs.meta +11 -11
  222. package/Common/Runtime/BeamCli/Contracts/ContentService/ContentSnapshotType.cs +2 -2
  223. package/Common/Runtime/BeamCli/Contracts/ContentService/ContentSnapshotType.cs.meta +11 -11
  224. package/Common/Runtime/BeamCli/Contracts/ContentService/ContentStatus.cs +2 -2
  225. package/Common/Runtime/BeamCli/Contracts/ContentService/ContentStatus.cs.meta +11 -11
  226. package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifest.cs +2 -2
  227. package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifest.cs.meta +11 -11
  228. package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifestEntry.cs +2 -2
  229. package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifestEntry.cs.meta +11 -11
  230. package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestAuthor.cs +2 -2
  231. package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestAuthor.cs.meta +11 -11
  232. package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestProjectData.cs +2 -2
  233. package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestProjectData.cs.meta +11 -11
  234. package/Common/Runtime/BeamCli/Contracts/ContentService/TagStatus.cs +2 -2
  235. package/Common/Runtime/BeamCli/Contracts/ContentService/TagStatus.cs.meta +11 -11
  236. package/Common/Runtime/BeamCli/Contracts/ContentService.meta +11 -11
  237. package/Common/Runtime/BeamCli/Contracts/EnvironmentVersionData.cs +14 -14
  238. package/Common/Runtime/BeamCli/Contracts/EnvironmentVersionData.cs.meta +11 -11
  239. package/Common/Runtime/BeamCli/Contracts/GenerateEnvOutput.cs +23 -23
  240. package/Common/Runtime/BeamCli/Contracts/GenerateEnvOutput.cs.meta +11 -11
  241. package/Common/Runtime/BeamCli/Contracts/ServiceInfo.cs +15 -15
  242. package/Common/Runtime/BeamCli/Contracts/ServiceInfo.cs.meta +11 -11
  243. package/Common/Runtime/BeamCli/Contracts.meta +11 -11
  244. package/Common/Runtime/BeamCli/ErrorOutput.cs +38 -38
  245. package/Common/Runtime/BeamCli/ErrorOutput.cs.meta +11 -11
  246. package/Common/Runtime/BeamCli/IBeamCommand.cs +51 -51
  247. package/Common/Runtime/BeamCli/IBeamCommand.cs.meta +11 -11
  248. package/Common/Runtime/BeamCli/Reporting.cs +51 -51
  249. package/Common/Runtime/BeamCli/Reporting.cs.meta +11 -11
  250. package/Common/Runtime/BeamCli/ServiceInfoHelper.cs +31 -31
  251. package/Common/Runtime/BeamCli/ServiceInfoHelper.cs.meta +11 -11
  252. package/Common/Runtime/BeamCli.meta +11 -11
  253. package/Common/Runtime/BeamGenerateSchemaAttribute.cs +2 -2
  254. package/Common/Runtime/BeamGenerateSchemaAttribute.cs.meta +11 -11
  255. package/Common/Runtime/BeamableColorUtil.cs +25 -25
  256. package/Common/Runtime/BeamableColorUtil.cs.meta +11 -11
  257. package/Common/Runtime/BeamableEnumExtensions.cs +35 -35
  258. package/Common/Runtime/BeamableEnumExtensions.cs.meta +11 -11
  259. package/Common/Runtime/BeamableTaskExtensions.cs +27 -27
  260. package/Common/Runtime/BeamableTaskExtensions.cs.meta +11 -11
  261. package/Common/Runtime/Collections/ConcurrentBag.cs +49 -49
  262. package/Common/Runtime/Collections/ConcurrentBag.cs.meta +11 -11
  263. package/Common/Runtime/Collections/ConcurrentDictionary.cs +109 -109
  264. package/Common/Runtime/Collections/ConcurrentDictionary.cs.meta +11 -11
  265. package/Common/Runtime/Collections.meta +11 -11
  266. package/Common/Runtime/Constants/Constants.cs +184 -184
  267. package/Common/Runtime/Constants/Constants.cs.meta +11 -11
  268. package/Common/Runtime/Constants/Implementations/ArchiveConstants.cs +24 -24
  269. package/Common/Runtime/Constants/Implementations/ArchiveConstants.cs.meta +11 -11
  270. package/Common/Runtime/Constants/Implementations/ConfigConstants.cs +25 -25
  271. package/Common/Runtime/Constants/Implementations/ConfigConstants.cs.meta +11 -11
  272. package/Common/Runtime/Constants/Implementations/ContentConstants.cs +28 -28
  273. package/Common/Runtime/Constants/Implementations/ContentConstants.cs.meta +11 -11
  274. package/Common/Runtime/Constants/Implementations/ContentManagerConstants.cs +113 -113
  275. package/Common/Runtime/Constants/Implementations/ContentManagerConstants.cs.meta +11 -11
  276. package/Common/Runtime/Constants/Implementations/CronConstants.cs +19 -19
  277. package/Common/Runtime/Constants/Implementations/CronConstants.cs.meta +11 -11
  278. package/Common/Runtime/Constants/Implementations/DockerConstants.cs +21 -21
  279. package/Common/Runtime/Constants/Implementations/DockerConstants.cs.meta +11 -11
  280. package/Common/Runtime/Constants/Implementations/EnvironmentConstants.cs +23 -23
  281. package/Common/Runtime/Constants/Implementations/EnvironmentConstants.cs.meta +11 -11
  282. package/Common/Runtime/Constants/Implementations/LoginBaseConstants.cs +45 -45
  283. package/Common/Runtime/Constants/Implementations/LoginBaseConstants.cs.meta +11 -11
  284. package/Common/Runtime/Constants/Implementations/MigrationConstants.cs +14 -14
  285. package/Common/Runtime/Constants/Implementations/MigrationConstants.cs.meta +11 -11
  286. package/Common/Runtime/Constants/Implementations/NotificationConstants.cs +18 -18
  287. package/Common/Runtime/Constants/Implementations/NotificationConstants.cs.meta +11 -11
  288. package/Common/Runtime/Constants/Implementations/OtelConstants.cs +2 -2
  289. package/Common/Runtime/Constants/Implementations/OtelConstants.cs.meta +11 -11
  290. package/Common/Runtime/Constants/Implementations/RequesterConstants.cs +90 -90
  291. package/Common/Runtime/Constants/Implementations/RequesterConstants.cs.meta +11 -11
  292. package/Common/Runtime/Constants/Implementations/SchedulesConstants.cs +20 -20
  293. package/Common/Runtime/Constants/Implementations/SchedulesConstants.cs.meta +11 -11
  294. package/Common/Runtime/Constants/Implementations/ServiceConstants.cs +161 -161
  295. package/Common/Runtime/Constants/Implementations/ServiceConstants.cs.meta +11 -11
  296. package/Common/Runtime/Constants/Implementations/SpewConstants.cs +38 -38
  297. package/Common/Runtime/Constants/Implementations/SpewConstants.cs.meta +11 -11
  298. package/Common/Runtime/Constants/Implementations/TestingToolConstants.cs +40 -40
  299. package/Common/Runtime/Constants/Implementations/TestingToolConstants.cs.meta +11 -11
  300. package/Common/Runtime/Constants/Implementations/ToolbarConstants.cs +16 -16
  301. package/Common/Runtime/Constants/Implementations/ToolbarConstants.cs.meta +11 -11
  302. package/Common/Runtime/Constants/Implementations/ToolboxConstants.cs +25 -25
  303. package/Common/Runtime/Constants/Implementations/ToolboxConstants.cs.meta +11 -11
  304. package/Common/Runtime/Constants/Implementations/TooltipConstants.cs +82 -82
  305. package/Common/Runtime/Constants/Implementations/TooltipConstants.cs.meta +11 -11
  306. package/Common/Runtime/Constants/Implementations.meta +11 -11
  307. package/Common/Runtime/Constants.meta +11 -11
  308. package/Common/Runtime/Content/ClientContentSerializer.cs +45 -45
  309. package/Common/Runtime/Content/ClientContentSerializer.cs.meta +11 -11
  310. package/Common/Runtime/Content/ClientManifest.cs +303 -303
  311. package/Common/Runtime/Content/ClientManifest.cs.meta +11 -11
  312. package/Common/Runtime/Content/ClientPermissions.cs +30 -30
  313. package/Common/Runtime/Content/ClientPermissions.cs.meta +11 -11
  314. package/Common/Runtime/Content/ContentCorruptedException.cs +15 -15
  315. package/Common/Runtime/Content/ContentCorruptedException.cs.meta +11 -11
  316. package/Common/Runtime/Content/ContentDataInfo.cs +147 -147
  317. package/Common/Runtime/Content/ContentDataInfo.cs.meta +11 -11
  318. package/Common/Runtime/Content/ContentDeserializationException.cs +14 -14
  319. package/Common/Runtime/Content/ContentDeserializationException.cs.meta +11 -11
  320. package/Common/Runtime/Content/ContentFieldAttribute.cs +30 -30
  321. package/Common/Runtime/Content/ContentFieldAttribute.cs.meta +11 -11
  322. package/Common/Runtime/Content/ContentFilterType.cs +2 -2
  323. package/Common/Runtime/Content/ContentFilterType.cs.meta +11 -11
  324. package/Common/Runtime/Content/ContentNotFoundException.cs +19 -19
  325. package/Common/Runtime/Content/ContentNotFoundException.cs.meta +11 -11
  326. package/Common/Runtime/Content/ContentObject.cs +644 -644
  327. package/Common/Runtime/Content/ContentObject.cs.meta +11 -11
  328. package/Common/Runtime/Content/ContentQuery.cs +333 -333
  329. package/Common/Runtime/Content/ContentQuery.cs.meta +11 -11
  330. package/Common/Runtime/Content/ContentQueryExtensions.cs +42 -42
  331. package/Common/Runtime/Content/ContentQueryExtensions.cs.meta +11 -11
  332. package/Common/Runtime/Content/ContentRef.cs +307 -291
  333. package/Common/Runtime/Content/ContentRef.cs.meta +11 -11
  334. package/Common/Runtime/Content/ContentSerializer.cs +776 -770
  335. package/Common/Runtime/Content/ContentSerializer.cs.meta +11 -11
  336. package/Common/Runtime/Content/ContentTypeAttribute.cs +137 -137
  337. package/Common/Runtime/Content/ContentTypeAttribute.cs.meta +11 -11
  338. package/Common/Runtime/Content/ContentTypeReflectionCache.cs +601 -601
  339. package/Common/Runtime/Content/ContentTypeReflectionCache.cs.meta +11 -11
  340. package/Common/Runtime/Content/ContentVisibility.cs +24 -24
  341. package/Common/Runtime/Content/ContentVisibility.cs.meta +11 -11
  342. package/Common/Runtime/Content/Federation.cs +32 -32
  343. package/Common/Runtime/Content/Federation.cs.meta +11 -11
  344. package/Common/Runtime/Content/IContentObject.cs +51 -51
  345. package/Common/Runtime/Content/IContentObject.cs.meta +11 -11
  346. package/Common/Runtime/Content/IContentService.cs +20 -20
  347. package/Common/Runtime/Content/IContentService.cs.meta +11 -11
  348. package/Common/Runtime/Content/IIgnoreSerializationCallbacks.cs +10 -10
  349. package/Common/Runtime/Content/IIgnoreSerializationCallbacks.cs.meta +11 -11
  350. package/Common/Runtime/Content/IgnoreContentFieldAttribute.cs +24 -24
  351. package/Common/Runtime/Content/IgnoreContentFieldAttribute.cs.meta +11 -11
  352. package/Common/Runtime/Content/Optionals.cs +582 -582
  353. package/Common/Runtime/Content/Optionals.cs.meta +11 -11
  354. package/Common/Runtime/Content/PropertyAttributes/FilePathSelectorAttribute.cs +22 -22
  355. package/Common/Runtime/Content/PropertyAttributes/FilePathSelectorAttribute.cs.meta +11 -11
  356. package/Common/Runtime/Content/PropertyAttributes/HideUnlessServerPackageInstalled.cs +14 -14
  357. package/Common/Runtime/Content/PropertyAttributes/HideUnlessServerPackageInstalled.cs.meta +11 -11
  358. package/Common/Runtime/Content/PropertyAttributes/ReadonlyIfAttribute.cs +24 -24
  359. package/Common/Runtime/Content/PropertyAttributes/ReadonlyIfAttribute.cs.meta +11 -11
  360. package/Common/Runtime/Content/PropertyAttributes/ShowOnlyAttribute.cs +10 -10
  361. package/Common/Runtime/Content/PropertyAttributes/ShowOnlyAttribute.cs.meta +11 -11
  362. package/Common/Runtime/Content/PropertyAttributes.meta +11 -11
  363. package/Common/Runtime/Content/RenderAsRefAttribute.cs +33 -33
  364. package/Common/Runtime/Content/RenderAsRefAttribute.cs.meta +11 -11
  365. package/Common/Runtime/Content/SerializableDictionary.cs +183 -183
  366. package/Common/Runtime/Content/SerializableDictionary.cs.meta +11 -11
  367. package/Common/Runtime/Content/Utility/DateUtility.cs +120 -120
  368. package/Common/Runtime/Content/Utility/DateUtility.cs.meta +11 -11
  369. package/Common/Runtime/Content/Utility.meta +11 -11
  370. package/Common/Runtime/Content/Validation/AggregateContentValidationException.cs +12 -12
  371. package/Common/Runtime/Content/Validation/AggregateContentValidationException.cs.meta +11 -11
  372. package/Common/Runtime/Content/Validation/CannotBeBlank.cs +115 -115
  373. package/Common/Runtime/Content/Validation/CannotBeBlank.cs.meta +11 -11
  374. package/Common/Runtime/Content/Validation/CannotBeEmpty.cs +43 -43
  375. package/Common/Runtime/Content/Validation/CannotBeEmpty.cs.meta +11 -11
  376. package/Common/Runtime/Content/Validation/ContentValidationException.cs +122 -122
  377. package/Common/Runtime/Content/Validation/ContentValidationException.cs.meta +11 -11
  378. package/Common/Runtime/Content/Validation/FederationMustBeValid.cs +58 -58
  379. package/Common/Runtime/Content/Validation/FederationMustBeValid.cs.meta +11 -11
  380. package/Common/Runtime/Content/Validation/MustBeComparatorString.cs +29 -29
  381. package/Common/Runtime/Content/Validation/MustBeComparatorString.cs.meta +11 -11
  382. package/Common/Runtime/Content/Validation/MustBeCurrency.cs +25 -25
  383. package/Common/Runtime/Content/Validation/MustBeCurrency.cs.meta +11 -11
  384. package/Common/Runtime/Content/Validation/MustBeCurrencyOrItem.cs +25 -25
  385. package/Common/Runtime/Content/Validation/MustBeCurrencyOrItem.cs.meta +11 -11
  386. package/Common/Runtime/Content/Validation/MustBeDateString.cs +85 -85
  387. package/Common/Runtime/Content/Validation/MustBeDateString.cs.meta +11 -11
  388. package/Common/Runtime/Content/Validation/MustBeItem.cs +25 -25
  389. package/Common/Runtime/Content/Validation/MustBeItem.cs.meta +11 -11
  390. package/Common/Runtime/Content/Validation/MustBeLeaderboard.cs +26 -26
  391. package/Common/Runtime/Content/Validation/MustBeLeaderboard.cs.meta +11 -11
  392. package/Common/Runtime/Content/Validation/MustBeNonDefault.cs +30 -30
  393. package/Common/Runtime/Content/Validation/MustBeNonDefault.cs.meta +11 -11
  394. package/Common/Runtime/Content/Validation/MustBeNonNegative.cs +20 -20
  395. package/Common/Runtime/Content/Validation/MustBeNonNegative.cs.meta +11 -11
  396. package/Common/Runtime/Content/Validation/MustBeOneOf.cs +64 -64
  397. package/Common/Runtime/Content/Validation/MustBeOneOf.cs.meta +11 -11
  398. package/Common/Runtime/Content/Validation/MustBePositive.cs +106 -106
  399. package/Common/Runtime/Content/Validation/MustBePositive.cs.meta +11 -11
  400. package/Common/Runtime/Content/Validation/MustBeSlugString.cs +86 -86
  401. package/Common/Runtime/Content/Validation/MustBeSlugString.cs.meta +11 -11
  402. package/Common/Runtime/Content/Validation/MustBeTimeSpanDuration.cs +106 -106
  403. package/Common/Runtime/Content/Validation/MustBeTimeSpanDuration.cs.meta +11 -11
  404. package/Common/Runtime/Content/Validation/MustBeValidCron.cs +2 -2
  405. package/Common/Runtime/Content/Validation/MustBeValidCron.cs.meta +11 -11
  406. package/Common/Runtime/Content/Validation/MustContain.cs +53 -53
  407. package/Common/Runtime/Content/Validation/MustContain.cs.meta +11 -11
  408. package/Common/Runtime/Content/Validation/MustReferenceContent.cs +237 -237
  409. package/Common/Runtime/Content/Validation/MustReferenceContent.cs.meta +11 -11
  410. package/Common/Runtime/Content/Validation/RouteParametersMustBeValid.cs +51 -51
  411. package/Common/Runtime/Content/Validation/RouteParametersMustBeValid.cs.meta +11 -11
  412. package/Common/Runtime/Content/Validation/ServiceRouteMustBeValid.cs +43 -43
  413. package/Common/Runtime/Content/Validation/ServiceRouteMustBeValid.cs.meta +11 -11
  414. package/Common/Runtime/Content/Validation/TimeSpanDisplayAttribute.cs +18 -18
  415. package/Common/Runtime/Content/Validation/TimeSpanDisplayAttribute.cs.meta +11 -11
  416. package/Common/Runtime/Content/Validation/ValidationAttribute.cs +110 -110
  417. package/Common/Runtime/Content/Validation/ValidationAttribute.cs.meta +11 -11
  418. package/Common/Runtime/Content/Validation/ValidationContext.cs +104 -104
  419. package/Common/Runtime/Content/Validation/ValidationContext.cs.meta +11 -11
  420. package/Common/Runtime/Content/Validation.meta +11 -11
  421. package/Common/Runtime/Content.meta +11 -11
  422. package/Common/Runtime/CronExpression/CronLocale.cs +2 -2
  423. package/Common/Runtime/CronExpression/CronLocale.cs.meta +11 -11
  424. package/Common/Runtime/CronExpression/ErrorData.cs +2 -2
  425. package/Common/Runtime/CronExpression/ErrorData.cs.meta +11 -11
  426. package/Common/Runtime/CronExpression/ExpressionParser.cs +2 -2
  427. package/Common/Runtime/CronExpression/ExpressionParser.cs.meta +11 -11
  428. package/Common/Runtime/CronExpression/Options.cs +2 -2
  429. package/Common/Runtime/CronExpression/Options.cs.meta +11 -11
  430. package/Common/Runtime/CronExpression.meta +11 -11
  431. package/Common/Runtime/Debug.cs +180 -177
  432. package/Common/Runtime/Debug.cs.meta +11 -11
  433. package/Common/Runtime/DefaultQuery.cs +248 -248
  434. package/Common/Runtime/DefaultQuery.cs.meta +11 -11
  435. package/Common/Runtime/Dependencies/DependencyBuilder.cs +776 -776
  436. package/Common/Runtime/Dependencies/DependencyBuilder.cs.meta +11 -11
  437. package/Common/Runtime/Dependencies/DependencyProvider.cs +560 -560
  438. package/Common/Runtime/Dependencies/DependencyProvider.cs.meta +11 -11
  439. package/Common/Runtime/Dependencies/Exceptions.cs +21 -21
  440. package/Common/Runtime/Dependencies/Exceptions.cs.meta +11 -11
  441. package/Common/Runtime/Dependencies/IDependencyList.cs +23 -23
  442. package/Common/Runtime/Dependencies/IDependencyList.cs.meta +11 -11
  443. package/Common/Runtime/Dependencies/IDependencyNameProvider.cs +14 -14
  444. package/Common/Runtime/Dependencies/IDependencyNameProvider.cs.meta +11 -11
  445. package/Common/Runtime/Dependencies/RegisterBeamableDependenciesAttribute.cs +74 -74
  446. package/Common/Runtime/Dependencies/RegisterBeamableDependenciesAttribute.cs.meta +11 -11
  447. package/Common/Runtime/Dependencies/ServiceStorage.cs +258 -258
  448. package/Common/Runtime/Dependencies/ServiceStorage.cs.meta +11 -11
  449. package/Common/Runtime/Dependencies/Utils.cs +49 -49
  450. package/Common/Runtime/Dependencies/Utils.cs.meta +11 -11
  451. package/Common/Runtime/Dependencies.meta +11 -11
  452. package/Common/Runtime/DocUtils.cs +24 -24
  453. package/Common/Runtime/DocUtils.cs.meta +11 -11
  454. package/Common/Runtime/Environment/PackageVersion.cs +366 -366
  455. package/Common/Runtime/Environment/PackageVersion.cs.meta +11 -11
  456. package/Common/Runtime/Environment.meta +11 -11
  457. package/Common/Runtime/Federation/FederatedGameServer.cs +2 -2
  458. package/Common/Runtime/Federation/FederatedGameServer.cs.meta +11 -11
  459. package/Common/Runtime/Federation/FederatedInventory.cs +2 -2
  460. package/Common/Runtime/Federation/FederatedInventory.cs.meta +11 -11
  461. package/Common/Runtime/Federation/FederatedLogin.cs +2 -2
  462. package/Common/Runtime/Federation/FederatedLogin.cs.meta +11 -11
  463. package/Common/Runtime/Federation/FederatedPlayerInit.cs +36 -36
  464. package/Common/Runtime/Federation/FederatedPlayerInit.cs.meta +11 -11
  465. package/Common/Runtime/Federation/Federation.cs +2 -2
  466. package/Common/Runtime/Federation/Federation.cs.meta +11 -11
  467. package/Common/Runtime/Federation.meta +11 -11
  468. package/Common/Runtime/IRuntimeConfigProvider.cs +74 -74
  469. package/Common/Runtime/IRuntimeConfigProvider.cs.meta +11 -11
  470. package/Common/Runtime/ISearchableElement.cs +14 -14
  471. package/Common/Runtime/ISearchableElement.cs.meta +11 -11
  472. package/Common/Runtime/JsonSerializable/DeleteStream.cs +438 -438
  473. package/Common/Runtime/JsonSerializable/DeleteStream.cs.meta +11 -11
  474. package/Common/Runtime/JsonSerializable/DiffStream.cs +367 -367
  475. package/Common/Runtime/JsonSerializable/DiffStream.cs.meta +11 -11
  476. package/Common/Runtime/JsonSerializable/JsonData.cs +102 -102
  477. package/Common/Runtime/JsonSerializable/JsonData.cs.meta +11 -11
  478. package/Common/Runtime/JsonSerializable/JsonSaveStream.cs +765 -765
  479. package/Common/Runtime/JsonSerializable/JsonSaveStream.cs.meta +11 -11
  480. package/Common/Runtime/JsonSerializable/JsonSerializable.cs +386 -386
  481. package/Common/Runtime/JsonSerializable/JsonSerializable.cs.meta +11 -11
  482. package/Common/Runtime/JsonSerializable/LoadStream.cs +1103 -1103
  483. package/Common/Runtime/JsonSerializable/LoadStream.cs.meta +11 -11
  484. package/Common/Runtime/JsonSerializable/MessagePackStream.cs +2 -2
  485. package/Common/Runtime/JsonSerializable/MessagePackStream.cs.meta +11 -11
  486. package/Common/Runtime/JsonSerializable/SaveStream.cs +419 -419
  487. package/Common/Runtime/JsonSerializable/SaveStream.cs.meta +11 -11
  488. package/Common/Runtime/JsonSerializable/TypeLookupFactory.cs +58 -58
  489. package/Common/Runtime/JsonSerializable/TypeLookupFactory.cs.meta +11 -11
  490. package/Common/Runtime/JsonSerializable.meta +11 -11
  491. package/Common/Runtime/Modules/Announcements/AnnouncementApiContent.cs +42 -42
  492. package/Common/Runtime/Modules/Announcements/AnnouncementApiContent.cs.meta +11 -11
  493. package/Common/Runtime/Modules/Announcements/AnnouncementContent.cs +120 -120
  494. package/Common/Runtime/Modules/Announcements/AnnouncementContent.cs.meta +11 -11
  495. package/Common/Runtime/Modules/Announcements/AnnouncementRef.cs +96 -96
  496. package/Common/Runtime/Modules/Announcements/AnnouncementRef.cs.meta +11 -11
  497. package/Common/Runtime/Modules/Announcements.meta +11 -11
  498. package/Common/Runtime/Modules/Calendars/CalendarContent.cs +41 -41
  499. package/Common/Runtime/Modules/Calendars/CalendarContent.cs.meta +11 -11
  500. package/Common/Runtime/Modules/Calendars/CalendarRef.cs +67 -67
  501. package/Common/Runtime/Modules/Calendars/CalendarRef.cs.meta +11 -11
  502. package/Common/Runtime/Modules/Calendars.meta +11 -11
  503. package/Common/Runtime/Modules/Groups/GroupDonationContentRef.cs +76 -76
  504. package/Common/Runtime/Modules/Groups/GroupDonationContentRef.cs.meta +11 -11
  505. package/Common/Runtime/Modules/Groups/GroupDonationsContent.cs +39 -39
  506. package/Common/Runtime/Modules/Groups/GroupDonationsContent.cs.meta +11 -11
  507. package/Common/Runtime/Modules/Groups.meta +11 -11
  508. package/Common/Runtime/Modules/Inventory/CurrencyContent.cs +79 -79
  509. package/Common/Runtime/Modules/Inventory/CurrencyContent.cs.meta +11 -11
  510. package/Common/Runtime/Modules/Inventory/CurrencyRef.cs +82 -82
  511. package/Common/Runtime/Modules/Inventory/CurrencyRef.cs.meta +11 -11
  512. package/Common/Runtime/Modules/Inventory/ItemContent.cs +66 -66
  513. package/Common/Runtime/Modules/Inventory/ItemContent.cs.meta +11 -11
  514. package/Common/Runtime/Modules/Inventory/ItemRef.cs +79 -79
  515. package/Common/Runtime/Modules/Inventory/ItemRef.cs.meta +11 -11
  516. package/Common/Runtime/Modules/Inventory/VipContent.cs +103 -103
  517. package/Common/Runtime/Modules/Inventory/VipContent.cs.meta +11 -11
  518. package/Common/Runtime/Modules/Inventory.meta +11 -11
  519. package/Common/Runtime/Modules/Leaderboards/LeaderboardContent.cs +67 -67
  520. package/Common/Runtime/Modules/Leaderboards/LeaderboardContent.cs.meta +11 -11
  521. package/Common/Runtime/Modules/Leaderboards/LeaderboardRef.cs +77 -77
  522. package/Common/Runtime/Modules/Leaderboards/LeaderboardRef.cs.meta +11 -11
  523. package/Common/Runtime/Modules/Leaderboards.meta +11 -11
  524. package/Common/Runtime/Modules/SharedContent/ApiContent.cs +282 -282
  525. package/Common/Runtime/Modules/SharedContent/ApiContent.cs.meta +11 -11
  526. package/Common/Runtime/Modules/SharedContent/EmailContent.cs +104 -104
  527. package/Common/Runtime/Modules/SharedContent/EmailContent.cs.meta +11 -11
  528. package/Common/Runtime/Modules/SharedContent/EventContent.cs +273 -273
  529. package/Common/Runtime/Modules/SharedContent/EventContent.cs.meta +11 -11
  530. package/Common/Runtime/Modules/SharedContent/PlayerReward.cs +63 -63
  531. package/Common/Runtime/Modules/SharedContent/PlayerReward.cs.meta +11 -11
  532. package/Common/Runtime/Modules/SharedContent/ScheduleDefinition.cs +129 -129
  533. package/Common/Runtime/Modules/SharedContent/ScheduleDefinition.cs.meta +11 -11
  534. package/Common/Runtime/Modules/SharedContent/ScheduleExtensions.cs +35 -35
  535. package/Common/Runtime/Modules/SharedContent/ScheduleExtensions.cs.meta +11 -11
  536. package/Common/Runtime/Modules/SharedContent/SimGameType.cs +300 -300
  537. package/Common/Runtime/Modules/SharedContent/SimGameType.cs.meta +11 -11
  538. package/Common/Runtime/Modules/SharedContent.meta +11 -11
  539. package/Common/Runtime/Modules/Shop/ListingContent.cs +329 -329
  540. package/Common/Runtime/Modules/Shop/ListingContent.cs.meta +11 -11
  541. package/Common/Runtime/Modules/Shop/ListingLink.cs +23 -23
  542. package/Common/Runtime/Modules/Shop/ListingLink.cs.meta +11 -11
  543. package/Common/Runtime/Modules/Shop/ListingRef.cs +33 -33
  544. package/Common/Runtime/Modules/Shop/ListingRef.cs.meta +11 -11
  545. package/Common/Runtime/Modules/Shop/SKUContent.cs +105 -105
  546. package/Common/Runtime/Modules/Shop/SKUContent.cs.meta +11 -11
  547. package/Common/Runtime/Modules/Shop/SKURef.cs +49 -49
  548. package/Common/Runtime/Modules/Shop/SKURef.cs.meta +11 -11
  549. package/Common/Runtime/Modules/Shop/StoreContent.cs +47 -47
  550. package/Common/Runtime/Modules/Shop/StoreContent.cs.meta +11 -11
  551. package/Common/Runtime/Modules/Shop/StoreRef.cs +50 -50
  552. package/Common/Runtime/Modules/Shop/StoreRef.cs.meta +11 -11
  553. package/Common/Runtime/Modules/Shop.meta +11 -11
  554. package/Common/Runtime/Modules/Steam/ISteamService.cs +68 -68
  555. package/Common/Runtime/Modules/Steam/ISteamService.cs.meta +11 -11
  556. package/Common/Runtime/Modules/Steam.meta +11 -11
  557. package/Common/Runtime/Modules/Tournaments/TournamentColorConstants.cs +20 -20
  558. package/Common/Runtime/Modules/Tournaments/TournamentColorConstants.cs.meta +11 -11
  559. package/Common/Runtime/Modules/Tournaments/TournamentContent.cs +317 -317
  560. package/Common/Runtime/Modules/Tournaments/TournamentContent.cs.meta +11 -11
  561. package/Common/Runtime/Modules/Tournaments.meta +11 -11
  562. package/Common/Runtime/ObjectExtensions.cs +50 -50
  563. package/Common/Runtime/ObjectExtensions.cs.meta +11 -11
  564. package/Common/Runtime/OpenApi/AccountsBasic.gs.cs +2 -2
  565. package/Common/Runtime/OpenApi/AccountsBasic.gs.cs.meta +11 -11
  566. package/Common/Runtime/OpenApi/AccountsBasicCommon.gs.cs +2 -2
  567. package/Common/Runtime/OpenApi/AccountsBasicCommon.gs.cs.meta +11 -11
  568. package/Common/Runtime/OpenApi/AccountsObject.gs.cs +2 -2
  569. package/Common/Runtime/OpenApi/AccountsObject.gs.cs.meta +11 -11
  570. package/Common/Runtime/OpenApi/AnnouncementsBasic.gs.cs +2 -2
  571. package/Common/Runtime/OpenApi/AnnouncementsBasic.gs.cs.meta +11 -11
  572. package/Common/Runtime/OpenApi/AnnouncementsBasicCommon.gs.cs +2 -2
  573. package/Common/Runtime/OpenApi/AnnouncementsBasicCommon.gs.cs.meta +11 -11
  574. package/Common/Runtime/OpenApi/AnnouncementsObject.gs.cs +2 -2
  575. package/Common/Runtime/OpenApi/AnnouncementsObject.gs.cs.meta +11 -11
  576. package/Common/Runtime/OpenApi/AuthBasic.gs.cs +2 -2
  577. package/Common/Runtime/OpenApi/AuthBasic.gs.cs.meta +11 -11
  578. package/Common/Runtime/OpenApi/AuthBasicCommon.gs.cs +2 -2
  579. package/Common/Runtime/OpenApi/AuthBasicCommon.gs.cs.meta +11 -11
  580. package/Common/Runtime/OpenApi/BeamAdmin.gs.cs +2 -2
  581. package/Common/Runtime/OpenApi/BeamAdmin.gs.cs.meta +11 -11
  582. package/Common/Runtime/OpenApi/BeamAdminCommon.gs.cs +2 -2
  583. package/Common/Runtime/OpenApi/BeamAdminCommon.gs.cs.meta +11 -11
  584. package/Common/Runtime/OpenApi/BeamAuth.gs.cs +2 -2
  585. package/Common/Runtime/OpenApi/BeamAuth.gs.cs.meta +11 -11
  586. package/Common/Runtime/OpenApi/BeamAuthCommon.gs.cs +2 -2
  587. package/Common/Runtime/OpenApi/BeamAuthCommon.gs.cs.meta +11 -11
  588. package/Common/Runtime/OpenApi/BeamBeamo.gs.cs +2 -2
  589. package/Common/Runtime/OpenApi/BeamBeamo.gs.cs.meta +11 -11
  590. package/Common/Runtime/OpenApi/BeamBeamoCommon.gs.cs +2 -2
  591. package/Common/Runtime/OpenApi/BeamBeamoCommon.gs.cs.meta +11 -11
  592. package/Common/Runtime/OpenApi/BeamBeamootel.gs.cs +2 -2
  593. package/Common/Runtime/OpenApi/BeamBeamootel.gs.cs.meta +11 -11
  594. package/Common/Runtime/OpenApi/BeamBeamootelCommon.gs.cs +2 -2
  595. package/Common/Runtime/OpenApi/BeamBeamootelCommon.gs.cs.meta +11 -11
  596. package/Common/Runtime/OpenApi/BeamCustomer.gs.cs +157 -85
  597. package/Common/Runtime/OpenApi/BeamCustomer.gs.cs.meta +11 -11
  598. package/Common/Runtime/OpenApi/BeamCustomerCommon.gs.cs +2 -2
  599. package/Common/Runtime/OpenApi/BeamCustomerCommon.gs.cs.meta +11 -11
  600. package/Common/Runtime/OpenApi/BeamLobby.gs.cs +320 -318
  601. package/Common/Runtime/OpenApi/BeamLobby.gs.cs.meta +11 -11
  602. package/Common/Runtime/OpenApi/BeamLobbyCommon.gs.cs +2 -2
  603. package/Common/Runtime/OpenApi/BeamLobbyCommon.gs.cs.meta +11 -11
  604. package/Common/Runtime/OpenApi/BeamMailbox.gs.cs +2 -2
  605. package/Common/Runtime/OpenApi/BeamMailbox.gs.cs.meta +11 -11
  606. package/Common/Runtime/OpenApi/BeamMailboxCommon.gs.cs +2 -2
  607. package/Common/Runtime/OpenApi/BeamMailboxCommon.gs.cs.meta +11 -11
  608. package/Common/Runtime/OpenApi/BeamMatchmaking.gs.cs +169 -169
  609. package/Common/Runtime/OpenApi/BeamMatchmaking.gs.cs.meta +11 -11
  610. package/Common/Runtime/OpenApi/BeamMatchmakingCommon.gs.cs +2 -2
  611. package/Common/Runtime/OpenApi/BeamMatchmakingCommon.gs.cs.meta +11 -11
  612. package/Common/Runtime/OpenApi/BeamParty.gs.cs +270 -219
  613. package/Common/Runtime/OpenApi/BeamParty.gs.cs.meta +11 -11
  614. package/Common/Runtime/OpenApi/BeamPartyCommon.gs.cs +2 -2
  615. package/Common/Runtime/OpenApi/BeamPartyCommon.gs.cs.meta +11 -11
  616. package/Common/Runtime/OpenApi/BeamPlayer.gs.cs +2 -2
  617. package/Common/Runtime/OpenApi/BeamPlayer.gs.cs.meta +11 -11
  618. package/Common/Runtime/OpenApi/BeamPlayerCommon.gs.cs +2 -2
  619. package/Common/Runtime/OpenApi/BeamPlayerCommon.gs.cs.meta +11 -11
  620. package/Common/Runtime/OpenApi/BeamPlayerlobby.gs.cs +2 -2
  621. package/Common/Runtime/OpenApi/BeamPlayerlobby.gs.cs.meta +11 -11
  622. package/Common/Runtime/OpenApi/BeamPlayerlobbyCommon.gs.cs +2 -2
  623. package/Common/Runtime/OpenApi/BeamPlayerlobbyCommon.gs.cs.meta +11 -11
  624. package/Common/Runtime/OpenApi/BeamPlayerparty.gs.cs +2 -2
  625. package/Common/Runtime/OpenApi/BeamPlayerparty.gs.cs.meta +11 -11
  626. package/Common/Runtime/OpenApi/BeamPlayerpartyCommon.gs.cs +2 -2
  627. package/Common/Runtime/OpenApi/BeamPlayerpartyCommon.gs.cs.meta +11 -11
  628. package/Common/Runtime/OpenApi/BeamPlayerticket.gs.cs +2 -2
  629. package/Common/Runtime/OpenApi/BeamPlayerticket.gs.cs.meta +11 -11
  630. package/Common/Runtime/OpenApi/BeamPlayerticketCommon.gs.cs +2 -2
  631. package/Common/Runtime/OpenApi/BeamPlayerticketCommon.gs.cs.meta +11 -11
  632. package/Common/Runtime/OpenApi/BeamPresence.gs.cs +2 -2
  633. package/Common/Runtime/OpenApi/BeamPresence.gs.cs.meta +11 -11
  634. package/Common/Runtime/OpenApi/BeamPresenceCommon.gs.cs +2 -2
  635. package/Common/Runtime/OpenApi/BeamPresenceCommon.gs.cs.meta +11 -11
  636. package/Common/Runtime/OpenApi/BeamScheduler.gs.cs +6 -6
  637. package/Common/Runtime/OpenApi/BeamScheduler.gs.cs.meta +11 -11
  638. package/Common/Runtime/OpenApi/BeamSchedulerCommon.gs.cs +2 -2
  639. package/Common/Runtime/OpenApi/BeamSchedulerCommon.gs.cs.meta +11 -11
  640. package/Common/Runtime/OpenApi/BeamServiceplan.gs.cs +2 -2
  641. package/Common/Runtime/OpenApi/BeamServiceplan.gs.cs.meta +11 -11
  642. package/Common/Runtime/OpenApi/BeamServiceplanCommon.gs.cs +2 -2
  643. package/Common/Runtime/OpenApi/BeamServiceplanCommon.gs.cs.meta +11 -11
  644. package/Common/Runtime/OpenApi/BeamoBasic.gs.cs +2 -2
  645. package/Common/Runtime/OpenApi/BeamoBasic.gs.cs.meta +11 -11
  646. package/Common/Runtime/OpenApi/BeamoBasicCommon.gs.cs +2 -2
  647. package/Common/Runtime/OpenApi/BeamoBasicCommon.gs.cs.meta +11 -11
  648. package/Common/Runtime/OpenApi/CalendarsObject.gs.cs +2 -2
  649. package/Common/Runtime/OpenApi/CalendarsObject.gs.cs.meta +11 -11
  650. package/Common/Runtime/OpenApi/CalendarsObjectCommon.gs.cs +2 -2
  651. package/Common/Runtime/OpenApi/CalendarsObjectCommon.gs.cs.meta +11 -11
  652. package/Common/Runtime/OpenApi/CloudsavingBasic.gs.cs +2 -2
  653. package/Common/Runtime/OpenApi/CloudsavingBasic.gs.cs.meta +11 -11
  654. package/Common/Runtime/OpenApi/CloudsavingBasicCommon.gs.cs +2 -2
  655. package/Common/Runtime/OpenApi/CloudsavingBasicCommon.gs.cs.meta +11 -11
  656. package/Common/Runtime/OpenApi/CommerceBasic.gs.cs +2 -2
  657. package/Common/Runtime/OpenApi/CommerceBasic.gs.cs.meta +11 -11
  658. package/Common/Runtime/OpenApi/CommerceBasicCommon.gs.cs +2 -2
  659. package/Common/Runtime/OpenApi/CommerceBasicCommon.gs.cs.meta +11 -11
  660. package/Common/Runtime/OpenApi/CommerceObject.gs.cs +7 -7
  661. package/Common/Runtime/OpenApi/CommerceObject.gs.cs.meta +11 -11
  662. package/Common/Runtime/OpenApi/ContentBasic.gs.cs +2 -2
  663. package/Common/Runtime/OpenApi/ContentBasic.gs.cs.meta +11 -11
  664. package/Common/Runtime/OpenApi/ContentBasicCommon.gs.cs +2 -2
  665. package/Common/Runtime/OpenApi/ContentBasicCommon.gs.cs.meta +11 -11
  666. package/Common/Runtime/OpenApi/Event-playersObject.gs.cs +2 -2
  667. package/Common/Runtime/OpenApi/Event-playersObject.gs.cs.meta +11 -11
  668. package/Common/Runtime/OpenApi/Event-playersObjectCommon.gs.cs +2 -2
  669. package/Common/Runtime/OpenApi/Event-playersObjectCommon.gs.cs.meta +11 -11
  670. package/Common/Runtime/OpenApi/EventsBasic.gs.cs +2 -2
  671. package/Common/Runtime/OpenApi/EventsBasic.gs.cs.meta +11 -11
  672. package/Common/Runtime/OpenApi/EventsBasicCommon.gs.cs +2 -2
  673. package/Common/Runtime/OpenApi/EventsBasicCommon.gs.cs.meta +11 -11
  674. package/Common/Runtime/OpenApi/EventsObject.gs.cs +2 -2
  675. package/Common/Runtime/OpenApi/EventsObject.gs.cs.meta +11 -11
  676. package/Common/Runtime/OpenApi/Group-usersObject.gs.cs +2 -2
  677. package/Common/Runtime/OpenApi/Group-usersObject.gs.cs.meta +11 -11
  678. package/Common/Runtime/OpenApi/Group-usersObjectCommon.gs.cs +2 -2
  679. package/Common/Runtime/OpenApi/Group-usersObjectCommon.gs.cs.meta +11 -11
  680. package/Common/Runtime/OpenApi/GroupsObject.gs.cs +2 -2
  681. package/Common/Runtime/OpenApi/GroupsObject.gs.cs.meta +11 -11
  682. package/Common/Runtime/OpenApi/GroupsObjectCommon.gs.cs +2 -2
  683. package/Common/Runtime/OpenApi/GroupsObjectCommon.gs.cs.meta +11 -11
  684. package/Common/Runtime/OpenApi/InventoryBasic.gs.cs +2 -2
  685. package/Common/Runtime/OpenApi/InventoryBasic.gs.cs.meta +11 -11
  686. package/Common/Runtime/OpenApi/InventoryBasicCommon.gs.cs +2 -2
  687. package/Common/Runtime/OpenApi/InventoryBasicCommon.gs.cs.meta +11 -11
  688. package/Common/Runtime/OpenApi/InventoryObject.gs.cs +7 -7
  689. package/Common/Runtime/OpenApi/InventoryObject.gs.cs.meta +11 -11
  690. package/Common/Runtime/OpenApi/LeaderboardsBasic.gs.cs +2 -2
  691. package/Common/Runtime/OpenApi/LeaderboardsBasic.gs.cs.meta +11 -11
  692. package/Common/Runtime/OpenApi/LeaderboardsBasicCommon.gs.cs +2 -2
  693. package/Common/Runtime/OpenApi/LeaderboardsBasicCommon.gs.cs.meta +11 -11
  694. package/Common/Runtime/OpenApi/LeaderboardsObject.gs.cs +54 -34
  695. package/Common/Runtime/OpenApi/LeaderboardsObject.gs.cs.meta +11 -11
  696. package/Common/Runtime/OpenApi/MailBasic.gs.cs +2 -2
  697. package/Common/Runtime/OpenApi/MailBasic.gs.cs.meta +11 -11
  698. package/Common/Runtime/OpenApi/MailBasicCommon.gs.cs +2 -2
  699. package/Common/Runtime/OpenApi/MailBasicCommon.gs.cs.meta +11 -11
  700. package/Common/Runtime/OpenApi/MailObject.gs.cs +2 -2
  701. package/Common/Runtime/OpenApi/MailObject.gs.cs.meta +11 -11
  702. package/Common/Runtime/OpenApi/Models.gs.cs +366 -187
  703. package/Common/Runtime/OpenApi/Models.gs.cs.meta +11 -11
  704. package/Common/Runtime/OpenApi/NotificationBasic.gs.cs +2 -2
  705. package/Common/Runtime/OpenApi/NotificationBasic.gs.cs.meta +11 -11
  706. package/Common/Runtime/OpenApi/NotificationBasicCommon.gs.cs +2 -2
  707. package/Common/Runtime/OpenApi/NotificationBasicCommon.gs.cs.meta +11 -11
  708. package/Common/Runtime/OpenApi/PaymentsBasic.gs.cs +2 -2
  709. package/Common/Runtime/OpenApi/PaymentsBasic.gs.cs.meta +11 -11
  710. package/Common/Runtime/OpenApi/PaymentsBasicCommon.gs.cs +2 -2
  711. package/Common/Runtime/OpenApi/PaymentsBasicCommon.gs.cs.meta +11 -11
  712. package/Common/Runtime/OpenApi/PaymentsObject.gs.cs +4 -4
  713. package/Common/Runtime/OpenApi/PaymentsObject.gs.cs.meta +11 -11
  714. package/Common/Runtime/OpenApi/PushBasic.gs.cs +2 -2
  715. package/Common/Runtime/OpenApi/PushBasic.gs.cs.meta +11 -11
  716. package/Common/Runtime/OpenApi/PushBasicCommon.gs.cs +2 -2
  717. package/Common/Runtime/OpenApi/PushBasicCommon.gs.cs.meta +11 -11
  718. package/Common/Runtime/OpenApi/RealmsBasic.gs.cs +6 -6
  719. package/Common/Runtime/OpenApi/RealmsBasic.gs.cs.meta +11 -11
  720. package/Common/Runtime/OpenApi/RealmsBasicCommon.gs.cs +2 -2
  721. package/Common/Runtime/OpenApi/RealmsBasicCommon.gs.cs.meta +11 -11
  722. package/Common/Runtime/OpenApi/SessionBasic.gs.cs +2 -2
  723. package/Common/Runtime/OpenApi/SessionBasic.gs.cs.meta +11 -11
  724. package/Common/Runtime/OpenApi/SessionBasicCommon.gs.cs +2 -2
  725. package/Common/Runtime/OpenApi/SessionBasicCommon.gs.cs.meta +11 -11
  726. package/Common/Runtime/OpenApi/SocialBasic.gs.cs +2 -2
  727. package/Common/Runtime/OpenApi/SocialBasic.gs.cs.meta +11 -11
  728. package/Common/Runtime/OpenApi/SocialBasicCommon.gs.cs +2 -2
  729. package/Common/Runtime/OpenApi/SocialBasicCommon.gs.cs.meta +11 -11
  730. package/Common/Runtime/OpenApi/StatsBasic.gs.cs +2 -2
  731. package/Common/Runtime/OpenApi/StatsBasic.gs.cs.meta +11 -11
  732. package/Common/Runtime/OpenApi/StatsBasicCommon.gs.cs +2 -2
  733. package/Common/Runtime/OpenApi/StatsBasicCommon.gs.cs.meta +11 -11
  734. package/Common/Runtime/OpenApi/StatsObject.gs.cs +2 -2
  735. package/Common/Runtime/OpenApi/StatsObject.gs.cs.meta +11 -11
  736. package/Common/Runtime/OpenApi/TournamentsBasic.gs.cs +2 -2
  737. package/Common/Runtime/OpenApi/TournamentsBasic.gs.cs.meta +11 -11
  738. package/Common/Runtime/OpenApi/TournamentsBasicCommon.gs.cs +2 -2
  739. package/Common/Runtime/OpenApi/TournamentsBasicCommon.gs.cs.meta +11 -11
  740. package/Common/Runtime/OpenApi/TournamentsObject.gs.cs +2 -2
  741. package/Common/Runtime/OpenApi/TournamentsObject.gs.cs.meta +11 -11
  742. package/Common/Runtime/OpenApi/TrialsBasic.gs.cs +2 -2
  743. package/Common/Runtime/OpenApi/TrialsBasic.gs.cs.meta +11 -11
  744. package/Common/Runtime/OpenApi/TrialsBasicCommon.gs.cs +2 -2
  745. package/Common/Runtime/OpenApi/TrialsBasicCommon.gs.cs.meta +11 -11
  746. package/Common/Runtime/OpenApi.meta +11 -11
  747. package/Common/Runtime/OpenApiExtensions/BeamoExtensions.cs +48 -48
  748. package/Common/Runtime/OpenApiExtensions/BeamoExtensions.cs.meta +11 -11
  749. package/Common/Runtime/OpenApiExtensions/LegacyConverterExtensions.cs +2 -2
  750. package/Common/Runtime/OpenApiExtensions/LegacyConverterExtensions.cs.meta +11 -11
  751. package/Common/Runtime/OpenApiExtensions.meta +11 -11
  752. package/Common/Runtime/OpenApiSystem.cs +236 -236
  753. package/Common/Runtime/OpenApiSystem.cs.meta +11 -11
  754. package/Common/Runtime/Player/Lazy.cs +26 -26
  755. package/Common/Runtime/Player/Lazy.cs.meta +11 -11
  756. package/Common/Runtime/Player/Observables.cs +449 -449
  757. package/Common/Runtime/Player/Observables.cs.meta +11 -11
  758. package/Common/Runtime/Player.meta +11 -11
  759. package/Common/Runtime/Pooling/ClassPool.cs +142 -142
  760. package/Common/Runtime/Pooling/ClassPool.cs.meta +11 -11
  761. package/Common/Runtime/Pooling/StringBuilderPool.cs +171 -171
  762. package/Common/Runtime/Pooling/StringBuilderPool.cs.meta +11 -11
  763. package/Common/Runtime/Pooling.meta +11 -11
  764. package/Common/Runtime/Promise.cs +1329 -1329
  765. package/Common/Runtime/Promise.cs.meta +11 -11
  766. package/Common/Runtime/ReflectionCache/BeamContextSystemAttribute.cs +11 -11
  767. package/Common/Runtime/ReflectionCache/BeamContextSystemAttribute.cs.meta +11 -11
  768. package/Common/Runtime/ReflectionCache/INamingAttribute.cs +143 -143
  769. package/Common/Runtime/ReflectionCache/INamingAttribute.cs.meta +11 -11
  770. package/Common/Runtime/ReflectionCache/IReflectionAttribute.cs +154 -154
  771. package/Common/Runtime/ReflectionCache/IReflectionAttribute.cs.meta +11 -11
  772. package/Common/Runtime/ReflectionCache/PreserveAttribute.cs +22 -22
  773. package/Common/Runtime/ReflectionCache/PreserveAttribute.cs.meta +11 -11
  774. package/Common/Runtime/ReflectionCache/ReflectionCache.cs +457 -457
  775. package/Common/Runtime/ReflectionCache/ReflectionCache.cs.meta +11 -11
  776. package/Common/Runtime/ReflectionCache/ReflectionCache_Attributes.cs +289 -289
  777. package/Common/Runtime/ReflectionCache/ReflectionCache_Attributes.cs.meta +11 -11
  778. package/Common/Runtime/ReflectionCache/ReflectionCache_BaseTypes.cs +111 -111
  779. package/Common/Runtime/ReflectionCache/ReflectionCache_BaseTypes.cs.meta +11 -11
  780. package/Common/Runtime/ReflectionCache/ReflectionCache_SignatureMatching.cs +247 -247
  781. package/Common/Runtime/ReflectionCache/ReflectionCache_SignatureMatching.cs.meta +11 -11
  782. package/Common/Runtime/ReflectionCache.meta +11 -11
  783. package/Common/Runtime/Scheduler/BeamScheduler.cs +962 -962
  784. package/Common/Runtime/Scheduler/BeamScheduler.cs.meta +11 -11
  785. package/Common/Runtime/Scheduler/Cron.cs +557 -557
  786. package/Common/Runtime/Scheduler/Cron.cs.meta +11 -11
  787. package/Common/Runtime/Scheduler/CronValidation.cs +63 -63
  788. package/Common/Runtime/Scheduler/CronValidation.cs.meta +11 -11
  789. package/Common/Runtime/Scheduler.meta +11 -11
  790. package/Common/Runtime/Semantics/ServiceName.cs +38 -38
  791. package/Common/Runtime/Semantics/ServiceName.cs.meta +11 -11
  792. package/Common/Runtime/Semantics.meta +11 -11
  793. package/Common/Runtime/SmallerJSON/IRawJsonProvider.cs +41 -41
  794. package/Common/Runtime/SmallerJSON/IRawJsonProvider.cs.meta +11 -11
  795. package/Common/Runtime/SmallerJSON/SmallerJSON.ArrayDict.cs +479 -479
  796. package/Common/Runtime/SmallerJSON/SmallerJSON.ArrayDict.cs.meta +11 -11
  797. package/Common/Runtime/SmallerJSON/SmallerJSON.FromString.cs +627 -627
  798. package/Common/Runtime/SmallerJSON/SmallerJSON.FromString.cs.meta +11 -11
  799. package/Common/Runtime/SmallerJSON/SmallerJSON.cs +1056 -1056
  800. package/Common/Runtime/SmallerJSON/SmallerJSON.cs.meta +11 -11
  801. package/Common/Runtime/SmallerJSON.meta +11 -11
  802. package/Common/Runtime/Spew/Logger.cs +418 -418
  803. package/Common/Runtime/Spew/Logger.cs.meta +11 -11
  804. package/Common/Runtime/Spew/SpewLoggerAttribute.cs +14 -14
  805. package/Common/Runtime/Spew/SpewLoggerAttribute.cs.meta +11 -11
  806. package/Common/Runtime/Spew.meta +11 -11
  807. package/Common/Runtime/Trie.cs +463 -463
  808. package/Common/Runtime/Trie.cs.meta +11 -11
  809. package/Common/Runtime/TypeExtensions.cs +66 -66
  810. package/Common/Runtime/TypeExtensions.cs.meta +11 -11
  811. package/Common/Runtime/Util/BeamAssemblyVersionUtil.cs +52 -52
  812. package/Common/Runtime/Util/BeamAssemblyVersionUtil.cs.meta +11 -11
  813. package/Common/Runtime/Util/BeamFileUtil.cs +27 -27
  814. package/Common/Runtime/Util/BeamFileUtil.cs.meta +11 -11
  815. package/Common/Runtime/Util/DocsPageHelper.cs +2 -2
  816. package/Common/Runtime/Util/DocsPageHelper.cs.meta +11 -11
  817. package/Common/Runtime/Util/NaturalStringComparer.cs +2 -2
  818. package/Common/Runtime/Util/NaturalStringComparer.cs.meta +11 -11
  819. package/Common/Runtime/Util.meta +11 -11
  820. package/Common/Runtime.meta +11 -11
  821. package/Editor/3rdParty/Splitter/SplitterGUILayout2.cs +194 -194
  822. package/Editor/BeamCli/BeamCli.cs +449 -417
  823. package/Editor/BeamCli/BeamCliUtil.cs +254 -254
  824. package/Editor/BeamCli/BeamCommand.cs +555 -552
  825. package/Editor/BeamCli/BeamWebCommand.cs +534 -534
  826. package/Editor/BeamCli/BeamWebHistory.cs +267 -267
  827. package/Editor/BeamCli/CliSpewLogger.cs +17 -17
  828. package/Editor/BeamCli/Commands/Beam.cs.meta +11 -11
  829. package/Editor/BeamCli/Commands/BeamAccountMeCommandOutput.cs.meta +11 -11
  830. package/Editor/BeamCli/Commands/BeamAccountMeExternalIdentity.cs.meta +11 -11
  831. package/Editor/BeamCli/Commands/BeamBuildProjectCommandOutput.cs.meta +11 -11
  832. package/Editor/BeamCli/Commands/BeamBuildSolutionCommandResults.cs.meta +11 -11
  833. package/Editor/BeamCli/Commands/BeamCheckFixedResult.cs.meta +11 -11
  834. package/Editor/BeamCli/Commands/BeamCheckGrafanaCommandResults.cs.meta +11 -11
  835. package/Editor/BeamCli/Commands/BeamCheckPerfCommandOutput.cs.meta +11 -11
  836. package/Editor/BeamCli/Commands/BeamCheckRegistryCommandResults.cs.meta +11 -11
  837. package/Editor/BeamCli/Commands/BeamCheckResultsForBeamoId.cs.meta +11 -11
  838. package/Editor/BeamCli/Commands/BeamCheckStatusServiceResult.cs.meta +11 -11
  839. package/Editor/BeamCli/Commands/BeamChecksScan.cs.meta +11 -11
  840. package/Editor/BeamCli/Commands/BeamClearTempLogFilesCommandOutput.cs.meta +11 -11
  841. package/Editor/BeamCli/Commands/BeamCliServiceComponent.cs.meta +11 -11
  842. package/Editor/BeamCli/Commands/BeamCliServiceDependency.cs.meta +11 -11
  843. package/Editor/BeamCli/Commands/BeamCliServiceManifest.cs.meta +11 -11
  844. package/Editor/BeamCli/Commands/BeamCliServiceReference.cs.meta +11 -11
  845. package/Editor/BeamCli/Commands/BeamCliServiceStorageReference.cs.meta +11 -11
  846. package/Editor/BeamCli/Commands/BeamCollectorStatusResult.cs.meta +11 -11
  847. package/Editor/BeamCli/Commands/BeamConfig.cs.meta +11 -11
  848. package/Editor/BeamCli/Commands/BeamConfigCommandResult.cs.meta +11 -11
  849. package/Editor/BeamCli/Commands/BeamConfigRealm.cs.meta +11 -11
  850. package/Editor/BeamCli/Commands/BeamConfigRealmRemove.cs.meta +11 -11
  851. package/Editor/BeamCli/Commands/BeamConfigRealmSet.cs.meta +11 -11
  852. package/Editor/BeamCli/Commands/BeamConfigRoutes.cs.meta +11 -11
  853. package/Editor/BeamCli/Commands/BeamConfigRoutesCommandResults.cs.meta +11 -11
  854. package/Editor/BeamCli/Commands/BeamConfigRoutesCommandWebsocketResult.cs.meta +11 -11
  855. package/Editor/BeamCli/Commands/BeamConstructVersionOutput.cs.meta +11 -11
  856. package/Editor/BeamCli/Commands/BeamContentArchiveManifest.cs.meta +11 -11
  857. package/Editor/BeamCli/Commands/BeamContentArchiveManifestCommandResult.cs.meta +11 -11
  858. package/Editor/BeamCli/Commands/BeamContentCreateLocalManifestCommandResult.cs.meta +11 -11
  859. package/Editor/BeamCli/Commands/BeamContentListManifests.cs.meta +11 -11
  860. package/Editor/BeamCli/Commands/BeamContentListManifestsCommandResults.cs.meta +11 -11
  861. package/Editor/BeamCli/Commands/BeamContentNewManifest.cs.meta +11 -11
  862. package/Editor/BeamCli/Commands/BeamContentProgressUpdateData.cs.meta +11 -11
  863. package/Editor/BeamCli/Commands/BeamContentPs.cs.meta +11 -11
  864. package/Editor/BeamCli/Commands/BeamContentPsCommandEvent.cs.meta +11 -11
  865. package/Editor/BeamCli/Commands/BeamContentPsProgressMessage.cs.meta +11 -11
  866. package/Editor/BeamCli/Commands/BeamContentPublish.cs.meta +11 -11
  867. package/Editor/BeamCli/Commands/BeamContentPublishResult.cs.meta +11 -11
  868. package/Editor/BeamCli/Commands/BeamContentResolve.cs.meta +11 -11
  869. package/Editor/BeamCli/Commands/BeamContentResolveConflictResult.cs.meta +11 -11
  870. package/Editor/BeamCli/Commands/BeamContentRestore.cs.meta +11 -11
  871. package/Editor/BeamCli/Commands/BeamContentRestoreErrorReport.cs.meta +11 -11
  872. package/Editor/BeamCli/Commands/BeamContentRestoreResult.cs.meta +11 -11
  873. package/Editor/BeamCli/Commands/BeamContentSave.cs.meta +11 -11
  874. package/Editor/BeamCli/Commands/BeamContentSnapshot.cs.meta +11 -11
  875. package/Editor/BeamCli/Commands/BeamContentSnapshotList.cs.meta +11 -11
  876. package/Editor/BeamCli/Commands/BeamContentSnapshotListItem.cs.meta +11 -11
  877. package/Editor/BeamCli/Commands/BeamContentSnapshotListResult.cs.meta +11 -11
  878. package/Editor/BeamCli/Commands/BeamContentSnapshotResult.cs.meta +11 -11
  879. package/Editor/BeamCli/Commands/BeamContentSync.cs.meta +11 -11
  880. package/Editor/BeamCli/Commands/BeamContentSyncReport.cs.meta +11 -11
  881. package/Editor/BeamCli/Commands/BeamContentSyncResult.cs.meta +11 -11
  882. package/Editor/BeamCli/Commands/BeamContentTagAdd.cs.meta +11 -11
  883. package/Editor/BeamCli/Commands/BeamContentTagRm.cs.meta +11 -11
  884. package/Editor/BeamCli/Commands/BeamContentTagSet.cs.meta +11 -11
  885. package/Editor/BeamCli/Commands/BeamCopyProjectSrcToUnityCommandOutput.cs.meta +11 -11
  886. package/Editor/BeamCli/Commands/BeamDeleteProjectCommandOutput.cs.meta +11 -11
  887. package/Editor/BeamCli/Commands/BeamDependencyData.cs.meta +11 -11
  888. package/Editor/BeamCli/Commands/BeamDeployMode.cs.meta +11 -11
  889. package/Editor/BeamCli/Commands/BeamDeployablePlan.cs.meta +11 -11
  890. package/Editor/BeamCli/Commands/BeamDeploymentDiffSummary.cs.meta +11 -11
  891. package/Editor/BeamCli/Commands/BeamDeploymentGet.cs.meta +11 -11
  892. package/Editor/BeamCli/Commands/BeamDeploymentList.cs.meta +11 -11
  893. package/Editor/BeamCli/Commands/BeamDeploymentManifestJsonDiff.cs.meta +11 -11
  894. package/Editor/BeamCli/Commands/BeamDeploymentPlan.cs.meta +11 -11
  895. package/Editor/BeamCli/Commands/BeamDeploymentPlanMetadata.cs.meta +11 -11
  896. package/Editor/BeamCli/Commands/BeamDeploymentRegistry.cs.meta +11 -11
  897. package/Editor/BeamCli/Commands/BeamDeploymentRelease.cs.meta +11 -11
  898. package/Editor/BeamCli/Commands/BeamDeploymentStatus.cs.meta +11 -11
  899. package/Editor/BeamCli/Commands/BeamDeveloperUserData.cs.meta +11 -11
  900. package/Editor/BeamCli/Commands/BeamDeveloperUserManagerCleanCapturedUserBuffer.cs.meta +11 -11
  901. package/Editor/BeamCli/Commands/BeamDeveloperUserManagerCreateUser.cs.meta +11 -11
  902. package/Editor/BeamCli/Commands/BeamDeveloperUserManagerCreateUserBatch.cs.meta +11 -11
  903. package/Editor/BeamCli/Commands/BeamDeveloperUserManagerPs.cs.meta +11 -11
  904. package/Editor/BeamCli/Commands/BeamDeveloperUserManagerRemoveUser.cs.meta +11 -11
  905. package/Editor/BeamCli/Commands/BeamDeveloperUserManagerSaveUser.cs.meta +11 -11
  906. package/Editor/BeamCli/Commands/BeamDeveloperUserManagerUpdateInfo.cs.meta +11 -11
  907. package/Editor/BeamCli/Commands/BeamDeveloperUserPsCommandEvent.cs.meta +11 -11
  908. package/Editor/BeamCli/Commands/BeamDeveloperUserResult.cs.meta +11 -11
  909. package/Editor/BeamCli/Commands/BeamDisableFederationCommandOutput.cs.meta +11 -11
  910. package/Editor/BeamCli/Commands/BeamDockerServiceDescriptor.cs.meta +11 -11
  911. package/Editor/BeamCli/Commands/BeamDockerStatusCommandOutput.cs.meta +11 -11
  912. package/Editor/BeamCli/Commands/BeamDownloadAllNugetDepsToUnityCommandOutput.cs.meta +11 -11
  913. package/Editor/BeamCli/Commands/BeamDownloadCollectorCommandResults.cs.meta +11 -11
  914. package/Editor/BeamCli/Commands/BeamDownloadNugetDepToUnityCommandOutput.cs.meta +11 -11
  915. package/Editor/BeamCli/Commands/BeamEraseStorageObjectCommandOutput.cs.meta +11 -11
  916. package/Editor/BeamCli/Commands/BeamFederationDisable.cs.meta +11 -11
  917. package/Editor/BeamCli/Commands/BeamFederationEnable.cs.meta +11 -11
  918. package/Editor/BeamCli/Commands/BeamFederationEntry.cs.meta +11 -11
  919. package/Editor/BeamCli/Commands/BeamFederationList.cs.meta +11 -11
  920. package/Editor/BeamCli/Commands/BeamFederationLocalKey.cs.meta +11 -11
  921. package/Editor/BeamCli/Commands/BeamFederationLocalSettingsGetIFederatedGameServer.cs.meta +11 -11
  922. package/Editor/BeamCli/Commands/BeamFederationLocalSettingsSetIFederatedGameServer.cs.meta +11 -11
  923. package/Editor/BeamCli/Commands/BeamFetchCommandLogRecord.cs +1 -0
  924. package/Editor/BeamCli/Commands/BeamFetchCommandLogRecord.cs.meta +11 -11
  925. package/Editor/BeamCli/Commands/BeamFetchTelemetryLogsResult.cs.meta +11 -11
  926. package/Editor/BeamCli/Commands/BeamGameListCommandResults.cs.meta +11 -11
  927. package/Editor/BeamCli/Commands/BeamGenerateClientFileEvent.cs.meta +11 -11
  928. package/Editor/BeamCli/Commands/BeamGenerateClientOapiCommandArgsResult.cs.meta +11 -11
  929. package/Editor/BeamCli/Commands/BeamGenerateMkDocsCommandResult.cs.meta +11 -11
  930. package/Editor/BeamCli/Commands/BeamGenerateOApiCommandOutput.cs.meta +11 -11
  931. package/Editor/BeamCli/Commands/BeamGenerateWebClientCommandArgsResult.cs.meta +11 -11
  932. package/Editor/BeamCli/Commands/BeamGetBeamOtelConfigCommandResult.cs.meta +11 -11
  933. package/Editor/BeamCli/Commands/BeamGetClickhouseCredentialsResult.cs.meta +11 -11
  934. package/Editor/BeamCli/Commands/BeamGetDeploymentCommandOutput.cs.meta +11 -11
  935. package/Editor/BeamCli/Commands/BeamGetLocalRoutingKeyCommandOutput.cs.meta +11 -11
  936. package/Editor/BeamCli/Commands/BeamGetLogsUrlHeader.cs.meta +11 -11
  937. package/Editor/BeamCli/Commands/BeamGetSignedUrlResponse.cs.meta +11 -11
  938. package/Editor/BeamCli/Commands/BeamGetTokenDetailsCommandOutput.cs.meta +11 -11
  939. package/Editor/BeamCli/Commands/BeamGetTokenForGuestCommandOutput.cs.meta +11 -11
  940. package/Editor/BeamCli/Commands/BeamGetTokenListCommandOutput.cs.meta +11 -11
  941. package/Editor/BeamCli/Commands/BeamGetTokenListElement.cs.meta +11 -11
  942. package/Editor/BeamCli/Commands/BeamGetTokenViaRefreshCommandOutput.cs.meta +11 -11
  943. package/Editor/BeamCli/Commands/BeamGetUnityVersionInfoCommandOutput.cs.meta +11 -11
  944. package/Editor/BeamCli/Commands/BeamGrafanaOpen.cs.meta +11 -11
  945. package/Editor/BeamCli/Commands/BeamGrafanaPs.cs.meta +11 -11
  946. package/Editor/BeamCli/Commands/BeamGrafanaStop.cs.meta +11 -11
  947. package/Editor/BeamCli/Commands/BeamHostServiceDescriptor.cs.meta +11 -11
  948. package/Editor/BeamCli/Commands/BeamInit.cs.meta +11 -11
  949. package/Editor/BeamCli/Commands/BeamInitCommandResult.cs.meta +11 -11
  950. package/Editor/BeamCli/Commands/BeamInvalidCidError.cs.meta +11 -11
  951. package/Editor/BeamCli/Commands/BeamInvalidTokenError.cs.meta +11 -11
  952. package/Editor/BeamCli/Commands/BeamInvalidTokenErrorOutput.cs.meta +11 -11
  953. package/Editor/BeamCli/Commands/BeamListCommandResult.cs.meta +11 -11
  954. package/Editor/BeamCli/Commands/BeamListDeploymentsCommandOutput.cs.meta +11 -11
  955. package/Editor/BeamCli/Commands/BeamListDepsCommandResults.cs.meta +11 -11
  956. package/Editor/BeamCli/Commands/BeamListServicesCommandOutput.cs.meta +11 -11
  957. package/Editor/BeamCli/Commands/BeamListenPlayer.cs.meta +11 -11
  958. package/Editor/BeamCli/Commands/BeamListenServer.cs.meta +11 -11
  959. package/Editor/BeamCli/Commands/BeamLogin.cs.meta +11 -11
  960. package/Editor/BeamCli/Commands/BeamLoginFailedError.cs.meta +11 -11
  961. package/Editor/BeamCli/Commands/BeamLoginResults.cs.meta +11 -11
  962. package/Editor/BeamCli/Commands/BeamLogout.cs.meta +11 -11
  963. package/Editor/BeamCli/Commands/BeamLogoutCommandResult.cs.meta +11 -11
  964. package/Editor/BeamCli/Commands/BeamManifestChecksum.cs.meta +11 -11
  965. package/Editor/BeamCli/Commands/BeamManifestChecksums.cs.meta +11 -11
  966. package/Editor/BeamCli/Commands/BeamManifestServiceEntry.cs.meta +11 -11
  967. package/Editor/BeamCli/Commands/BeamManifestSnapshotItem.cs.meta +11 -11
  968. package/Editor/BeamCli/Commands/BeamManifestStorageEntry.cs.meta +11 -11
  969. package/Editor/BeamCli/Commands/BeamMe.cs.meta +11 -11
  970. package/Editor/BeamCli/Commands/BeamMkdocs.cs.meta +11 -11
  971. package/Editor/BeamCli/Commands/BeamNoTokenError.cs.meta +11 -11
  972. package/Editor/BeamCli/Commands/BeamNotificationPlayerOutput.cs.meta +11 -11
  973. package/Editor/BeamCli/Commands/BeamNotificationServerOutput.cs.meta +11 -11
  974. package/Editor/BeamCli/Commands/BeamOapiDownload.cs.meta +11 -11
  975. package/Editor/BeamCli/Commands/BeamOrgGames.cs.meta +11 -11
  976. package/Editor/BeamCli/Commands/BeamOrgRealmData.cs.meta +11 -11
  977. package/Editor/BeamCli/Commands/BeamOrgRealms.cs.meta +11 -11
  978. package/Editor/BeamCli/Commands/BeamPlanReleaseProgress.cs.meta +11 -11
  979. package/Editor/BeamCli/Commands/BeamProfileCheckCounters.cs.meta +11 -11
  980. package/Editor/BeamCli/Commands/BeamProfileCheckNbomber.cs.meta +11 -11
  981. package/Editor/BeamCli/Commands/BeamProjectAddPaths.cs.meta +11 -11
  982. package/Editor/BeamCli/Commands/BeamProjectAddUnityProject.cs.meta +11 -11
  983. package/Editor/BeamCli/Commands/BeamProjectBuild.cs.meta +11 -11
  984. package/Editor/BeamCli/Commands/BeamProjectBuildSln.cs.meta +11 -11
  985. package/Editor/BeamCli/Commands/BeamProjectDeps.cs.meta +11 -11
  986. package/Editor/BeamCli/Commands/BeamProjectDepsAdd.cs.meta +11 -11
  987. package/Editor/BeamCli/Commands/BeamProjectDepsList.cs.meta +11 -11
  988. package/Editor/BeamCli/Commands/BeamProjectDepsRemove.cs.meta +11 -11
  989. package/Editor/BeamCli/Commands/BeamProjectDisable.cs.meta +11 -11
  990. package/Editor/BeamCli/Commands/BeamProjectEnable.cs.meta +11 -11
  991. package/Editor/BeamCli/Commands/BeamProjectErrorReport.cs.meta +11 -11
  992. package/Editor/BeamCli/Commands/BeamProjectErrorResult.cs.meta +11 -11
  993. package/Editor/BeamCli/Commands/BeamProjectGenerateClient.cs.meta +11 -11
  994. package/Editor/BeamCli/Commands/BeamProjectGenerateClientOapi.cs.meta +11 -11
  995. package/Editor/BeamCli/Commands/BeamProjectGenerateEnv.cs +7 -0
  996. package/Editor/BeamCli/Commands/BeamProjectGenerateEnv.cs.meta +11 -11
  997. package/Editor/BeamCli/Commands/BeamProjectGenerateProperties.cs +2 -2
  998. package/Editor/BeamCli/Commands/BeamProjectGenerateProperties.cs.meta +11 -11
  999. package/Editor/BeamCli/Commands/BeamProjectGenerateWebClient.cs.meta +11 -11
  1000. package/Editor/BeamCli/Commands/BeamProjectList.cs.meta +11 -11
  1001. package/Editor/BeamCli/Commands/BeamProjectLogs.cs.meta +11 -11
  1002. package/Editor/BeamCli/Commands/BeamProjectNewCommonLib.cs.meta +11 -11
  1003. package/Editor/BeamCli/Commands/BeamProjectNewService.cs.meta +11 -11
  1004. package/Editor/BeamCli/Commands/BeamProjectNewStorage.cs.meta +11 -11
  1005. package/Editor/BeamCli/Commands/BeamProjectOapi.cs.meta +11 -11
  1006. package/Editor/BeamCli/Commands/BeamProjectOpen.cs.meta +11 -11
  1007. package/Editor/BeamCli/Commands/BeamProjectOpenMongo.cs.meta +11 -11
  1008. package/Editor/BeamCli/Commands/BeamProjectOpenSwagger.cs.meta +11 -11
  1009. package/Editor/BeamCli/Commands/BeamProjectPs.cs.meta +11 -11
  1010. package/Editor/BeamCli/Commands/BeamProjectReadSettings.cs.meta +11 -11
  1011. package/Editor/BeamCli/Commands/BeamProjectRegenerate.cs.meta +11 -11
  1012. package/Editor/BeamCli/Commands/BeamProjectRemoteLogs.cs.meta +11 -11
  1013. package/Editor/BeamCli/Commands/BeamProjectRemove.cs.meta +11 -11
  1014. package/Editor/BeamCli/Commands/BeamProjectRun.cs.meta +11 -11
  1015. package/Editor/BeamCli/Commands/BeamProjectSettingsOutput.cs.meta +11 -11
  1016. package/Editor/BeamCli/Commands/BeamProjectStop.cs.meta +11 -11
  1017. package/Editor/BeamCli/Commands/BeamProjectStorageErase.cs.meta +11 -11
  1018. package/Editor/BeamCli/Commands/BeamProjectStorageRestore.cs.meta +11 -11
  1019. package/Editor/BeamCli/Commands/BeamProjectStorageSnapshot.cs.meta +11 -11
  1020. package/Editor/BeamCli/Commands/BeamProjectWriteSetting.cs.meta +11 -11
  1021. package/Editor/BeamCli/Commands/BeamReadProjectSettingsCommandOutput.cs.meta +11 -11
  1022. package/Editor/BeamCli/Commands/BeamRealmConfigOutput.cs.meta +11 -11
  1023. package/Editor/BeamCli/Commands/BeamRealmRole.cs.meta +11 -11
  1024. package/Editor/BeamCli/Commands/BeamRealmsListCommandOutput.cs.meta +11 -11
  1025. package/Editor/BeamCli/Commands/BeamReleaseSharedUnityCodeCommandOutput.cs.meta +11 -11
  1026. package/Editor/BeamCli/Commands/BeamRemoteServiceDescriptor.cs.meta +11 -11
  1027. package/Editor/BeamCli/Commands/BeamRemoteStorageDescriptor.cs.meta +11 -11
  1028. package/Editor/BeamCli/Commands/BeamReportTelemetryResult.cs.meta +11 -11
  1029. package/Editor/BeamCli/Commands/BeamRequestCliCommandOutput.cs.meta +11 -11
  1030. package/Editor/BeamCli/Commands/BeamRequiredFileEdit.cs.meta +11 -11
  1031. package/Editor/BeamCli/Commands/BeamRestoreProjectCommandOutput.cs.meta +11 -11
  1032. package/Editor/BeamCli/Commands/BeamRestoreStorageObjectCommandOutput.cs.meta +11 -11
  1033. package/Editor/BeamCli/Commands/BeamRunFailErrorOutput.cs.meta +11 -11
  1034. package/Editor/BeamCli/Commands/BeamRunProjectBuildErrorStream.cs.meta +11 -11
  1035. package/Editor/BeamCli/Commands/BeamRunProjectResultStream.cs.meta +11 -11
  1036. package/Editor/BeamCli/Commands/BeamSaveProjectPathsCommandResults.cs.meta +11 -11
  1037. package/Editor/BeamCli/Commands/BeamServeCliCommandOutput.cs.meta +11 -11
  1038. package/Editor/BeamCli/Commands/BeamServerClear.cs.meta +11 -11
  1039. package/Editor/BeamCli/Commands/BeamServerDescriptor.cs.meta +11 -11
  1040. package/Editor/BeamCli/Commands/BeamServerKillCommandResult.cs.meta +11 -11
  1041. package/Editor/BeamCli/Commands/BeamServerPs.cs.meta +11 -11
  1042. package/Editor/BeamCli/Commands/BeamServerPsCommandResult.cs.meta +11 -11
  1043. package/Editor/BeamCli/Commands/BeamServerReq.cs.meta +11 -11
  1044. package/Editor/BeamCli/Commands/BeamServerServe.cs.meta +11 -11
  1045. package/Editor/BeamCli/Commands/BeamServiceDependenciesPair.cs.meta +11 -11
  1046. package/Editor/BeamCli/Commands/BeamServiceDeployReportResult.cs.meta +11 -11
  1047. package/Editor/BeamCli/Commands/BeamServiceFederationChange.cs.meta +11 -11
  1048. package/Editor/BeamCli/Commands/BeamServiceFederations.cs.meta +11 -11
  1049. package/Editor/BeamCli/Commands/BeamServiceImageIdChange.cs.meta +11 -11
  1050. package/Editor/BeamCli/Commands/BeamServiceInstance.cs.meta +11 -11
  1051. package/Editor/BeamCli/Commands/BeamServiceListResult.cs.meta +11 -11
  1052. package/Editor/BeamCli/Commands/BeamServiceLogProviderChange.cs.meta +11 -11
  1053. package/Editor/BeamCli/Commands/BeamServiceManifestOutput.cs.meta +11 -11
  1054. package/Editor/BeamCli/Commands/BeamServiceRemoteDeployProgressResult.cs.meta +11 -11
  1055. package/Editor/BeamCli/Commands/BeamServiceRunProgressResult.cs.meta +11 -11
  1056. package/Editor/BeamCli/Commands/BeamServiceRunReportResult.cs.meta +11 -11
  1057. package/Editor/BeamCli/Commands/BeamServiceStatus.cs.meta +11 -11
  1058. package/Editor/BeamCli/Commands/BeamServiceTemplate.cs.meta +11 -11
  1059. package/Editor/BeamCli/Commands/BeamServicesBuild.cs.meta +11 -11
  1060. package/Editor/BeamCli/Commands/BeamServicesBuildCommandOutput.cs.meta +11 -11
  1061. package/Editor/BeamCli/Commands/BeamServicesBuiltProgress.cs.meta +11 -11
  1062. package/Editor/BeamCli/Commands/BeamServicesDeploy.cs.meta +11 -11
  1063. package/Editor/BeamCli/Commands/BeamServicesDockerStart.cs.meta +11 -11
  1064. package/Editor/BeamCli/Commands/BeamServicesDockerStatus.cs.meta +11 -11
  1065. package/Editor/BeamCli/Commands/BeamServicesForRouteCollection.cs.meta +11 -11
  1066. package/Editor/BeamCli/Commands/BeamServicesGetConnectionString.cs.meta +11 -11
  1067. package/Editor/BeamCli/Commands/BeamServicesGetConnectionStringCommandOutput.cs.meta +11 -11
  1068. package/Editor/BeamCli/Commands/BeamServicesManifests.cs.meta +11 -11
  1069. package/Editor/BeamCli/Commands/BeamServicesPromote.cs.meta +11 -11
  1070. package/Editor/BeamCli/Commands/BeamServicesPs.cs.meta +11 -11
  1071. package/Editor/BeamCli/Commands/BeamServicesRegistry.cs.meta +11 -11
  1072. package/Editor/BeamCli/Commands/BeamServicesRegistryOutput.cs.meta +11 -11
  1073. package/Editor/BeamCli/Commands/BeamServicesResetContainer.cs.meta +11 -11
  1074. package/Editor/BeamCli/Commands/BeamServicesResetContainerCommandOutput.cs.meta +11 -11
  1075. package/Editor/BeamCli/Commands/BeamServicesResetImage.cs.meta +11 -11
  1076. package/Editor/BeamCli/Commands/BeamServicesResetImageCommandOutput.cs.meta +11 -11
  1077. package/Editor/BeamCli/Commands/BeamServicesRun.cs.meta +11 -11
  1078. package/Editor/BeamCli/Commands/BeamServicesServiceLogs.cs.meta +11 -11
  1079. package/Editor/BeamCli/Commands/BeamServicesServiceMetrics.cs.meta +11 -11
  1080. package/Editor/BeamCli/Commands/BeamServicesStop.cs.meta +11 -11
  1081. package/Editor/BeamCli/Commands/BeamServicesTemplates.cs.meta +11 -11
  1082. package/Editor/BeamCli/Commands/BeamServicesTemplatesCommandOutput.cs.meta +11 -11
  1083. package/Editor/BeamCli/Commands/BeamServicesUpdateDockerfile.cs.meta +11 -11
  1084. package/Editor/BeamCli/Commands/BeamServicesUploadApi.cs.meta +11 -11
  1085. package/Editor/BeamCli/Commands/BeamServicesUploadApiOutput.cs.meta +11 -11
  1086. package/Editor/BeamCli/Commands/BeamSetBeamOtelConfigCommandResults.cs.meta +11 -11
  1087. package/Editor/BeamCli/Commands/BeamSetEnabledCommandArgsOutput.cs.meta +11 -11
  1088. package/Editor/BeamCli/Commands/BeamSetEnabledCommandComponent.cs.meta +11 -11
  1089. package/Editor/BeamCli/Commands/BeamSettingOutput.cs.meta +11 -11
  1090. package/Editor/BeamCli/Commands/BeamShowCurrentBeamoStatusCommandOutput.cs.meta +11 -11
  1091. package/Editor/BeamCli/Commands/BeamShowManifestCommandOutput.cs.meta +11 -11
  1092. package/Editor/BeamCli/Commands/BeamSnapshotStorageObjectCommandOutput.cs.meta +11 -11
  1093. package/Editor/BeamCli/Commands/BeamStartDockerCommandOutput.cs.meta +11 -11
  1094. package/Editor/BeamCli/Commands/BeamStartGrafanaCommandResults.cs.meta +11 -11
  1095. package/Editor/BeamCli/Commands/BeamStopProjectCommandOutput.cs.meta +11 -11
  1096. package/Editor/BeamCli/Commands/BeamTailLogMessageForClient.cs.meta +11 -11
  1097. package/Editor/BeamCli/Commands/BeamTelemetryCollector.cs.meta +11 -11
  1098. package/Editor/BeamCli/Commands/BeamTelemetryCollectorGet.cs.meta +11 -11
  1099. package/Editor/BeamCli/Commands/BeamTelemetryCollectorPs.cs.meta +11 -11
  1100. package/Editor/BeamCli/Commands/BeamTelemetryConfig.cs.meta +11 -11
  1101. package/Editor/BeamCli/Commands/BeamTelemetryGetCreds.cs.meta +11 -11
  1102. package/Editor/BeamCli/Commands/BeamTelemetryLogs.cs.meta +11 -11
  1103. package/Editor/BeamCli/Commands/BeamTelemetryPrune.cs.meta +11 -11
  1104. package/Editor/BeamCli/Commands/BeamTelemetryPush.cs.meta +11 -11
  1105. package/Editor/BeamCli/Commands/BeamTelemetryReport.cs.meta +11 -11
  1106. package/Editor/BeamCli/Commands/BeamTelemetrySetConfig.cs.meta +11 -11
  1107. package/Editor/BeamCli/Commands/BeamTempClearLogs.cs.meta +11 -11
  1108. package/Editor/BeamCli/Commands/BeamTokenFromRefresh.cs.meta +11 -11
  1109. package/Editor/BeamCli/Commands/BeamTokenInspect.cs.meta +11 -11
  1110. package/Editor/BeamCli/Commands/BeamTokenList.cs.meta +11 -11
  1111. package/Editor/BeamCli/Commands/BeamTokenNewGuest.cs.meta +11 -11
  1112. package/Editor/BeamCli/Commands/BeamUnityAssemblyReferenceData.cs.meta +11 -11
  1113. package/Editor/BeamCli/Commands/BeamUnityCopyDotnetSrc.cs.meta +11 -11
  1114. package/Editor/BeamCli/Commands/BeamUnityDownloadAllNugetPackages.cs.meta +11 -11
  1115. package/Editor/BeamCli/Commands/BeamUnityDownloadNugetPackage.cs.meta +11 -11
  1116. package/Editor/BeamCli/Commands/BeamUnityGetVersionInfo.cs.meta +11 -11
  1117. package/Editor/BeamCli/Commands/BeamUnityManifest.cs.meta +11 -11
  1118. package/Editor/BeamCli/Commands/BeamUnityReleaseSharedCode.cs.meta +11 -11
  1119. package/Editor/BeamCli/Commands/BeamUnityRestore.cs.meta +11 -11
  1120. package/Editor/BeamCli/Commands/BeamUnityUpdateDlls.cs.meta +11 -11
  1121. package/Editor/BeamCli/Commands/BeamUnityUpdateReferences.cs.meta +11 -11
  1122. package/Editor/BeamCli/Commands/BeamVersion.cs.meta +11 -11
  1123. package/Editor/BeamCli/Commands/BeamVersionConstruct.cs.meta +11 -11
  1124. package/Editor/BeamCli/Commands/BeamVersionResults.cs.meta +11 -11
  1125. package/Editor/BeamCli/Commands/BeamWriteProjectSettingsCommandOutput.cs.meta +11 -11
  1126. package/Editor/BeamCli/Extensions/BeamManifestServiceEntry_ComputedTypes.cs +53 -53
  1127. package/Editor/BeamCli/Extensions/BeamManifestStorageEntry_ComputedTypes.cs +10 -10
  1128. package/Editor/BeamCli/Extensions/DiscoveryExtensions.cs +57 -41
  1129. package/Editor/BeamCli/Extensions/FederationsConfig.cs +22 -22
  1130. package/Editor/BeamCli/UI/BeamCliJsonPopup.cs +29 -29
  1131. package/Editor/BeamCli/UI/BeamCliTextPopup.cs +32 -32
  1132. package/Editor/BeamCli/UI/BeamCliWindow.cs +174 -174
  1133. package/Editor/BeamCli/UI/BeamCliWindow_Commands.cs +539 -512
  1134. package/Editor/BeamCli/UI/BeamCliWindow_Overrides.cs +117 -117
  1135. package/Editor/BeamCli/UI/BeamCliWindow_Server.cs +156 -156
  1136. package/Editor/BeamCli/UI/BeamCliWindow_Terminal.cs +207 -207
  1137. package/Editor/BeamCli/UI/BeamCliWindow_Util.cs +336 -336
  1138. package/Editor/BeamCli/UI/JsonHighlighterUtil.cs +143 -143
  1139. package/Editor/BeamCli/UI/LogUtil/LogViewUtil.cs +727 -727
  1140. package/Editor/BeamCli/UI/TimeDisplayUtil.cs +22 -22
  1141. package/Editor/BeamEditor.cs +733 -733
  1142. package/Editor/BeamableLinker.cs +77 -77
  1143. package/Editor/BuildPostProcessor.cs +44 -44
  1144. package/Editor/BuildPreProcessor.cs +264 -264
  1145. package/Editor/ContentService/CliContentService.cs +49 -18
  1146. package/Editor/Dotnet/DotnetService.cs +193 -193
  1147. package/Editor/Dotnet/DotnetUtil.cs +296 -296
  1148. package/Editor/EditorAPI.cs +4 -4
  1149. package/Editor/EditorPlatformRequesterErrorHandler.cs +28 -28
  1150. package/Editor/EditorRuntimeConfigProvider.cs +19 -19
  1151. package/Editor/EditorStorageLayer.cs +40 -40
  1152. package/Editor/Eggs/EggEntry.cs +38 -38
  1153. package/Editor/Eggs/Serpent/EggSerpent.cs +209 -209
  1154. package/Editor/Environment/BeamableDiagnosticData.cs +198 -198
  1155. package/Editor/Environment/BeamableEditorWebRequester.cs +62 -62
  1156. package/Editor/Environment/BeamablePackages.cs +90 -90
  1157. package/Editor/Environment/IEditorHttpRequester.cs +49 -49
  1158. package/Editor/FileAssetModificationProcessor.cs +49 -49
  1159. package/Editor/LibraryService.cs +297 -297
  1160. package/Editor/Modules/Account/BeamableSocialsImporter.cs +59 -59
  1161. package/Editor/Modules/Account/EditorAuthService.cs +244 -244
  1162. package/Editor/Modules/Account/PortalCommand.cs +37 -37
  1163. package/Editor/Modules/Content/CalendarWindow.cs +185 -185
  1164. package/Editor/Modules/Content/ContentObjectPropertyDrawer.cs +26 -26
  1165. package/Editor/Modules/Content/ContentPropertyDrawer.cs +372 -372
  1166. package/Editor/Modules/Content/ContentValidationPropertyDrawer.cs +307 -307
  1167. package/Editor/Modules/Content/DatePropertyDrawer.cs +355 -355
  1168. package/Editor/Modules/Content/OptionalPropertyDrawer.cs +80 -80
  1169. package/Editor/Modules/Content/PropertyDrawerHelper.cs +44 -44
  1170. package/Editor/Modules/Content/ScheduleDefinitionPropertyDrawer.cs +554 -554
  1171. package/Editor/Modules/Content/SerializedContentObject.cs +12 -12
  1172. package/Editor/Modules/Content/UI/ContentObjectEditor.cs +395 -390
  1173. package/Editor/Modules/Content/UI/DisplayableListPropertyDrawer.cs +47 -47
  1174. package/Editor/Modules/Content/UI/EditorValidationContext.cs +7 -7
  1175. package/Editor/Modules/Content/UI/SerializedDictionaryEditor.cs +208 -208
  1176. package/Editor/Modules/ContentTypes/ContentTypesCreator.cs +58 -58
  1177. package/Editor/Modules/EditorConfig/EditorConfiguration.cs +209 -209
  1178. package/Editor/Modules/Input/InputActionPropertyDrawer.cs +138 -138
  1179. package/Editor/Modules/Player/ObservableReadonlyListPropertyDrawer.cs +21 -21
  1180. package/Editor/Modules/Purchasing/BeamablePurchaserImporter.cs +74 -74
  1181. package/Editor/Modules/Sessions/DeviceOptionPropertyDrawer.cs +56 -56
  1182. package/Editor/Modules/Sessions/SessionParameterProviderCreator.cs +111 -111
  1183. package/Editor/Modules/Sessions/SessionParameterProviderEditor.cs +25 -25
  1184. package/Editor/Modules/Stats/StatEditor.cs +18 -18
  1185. package/Editor/Modules/Theme/ButtonStyleObject.cs +9 -9
  1186. package/Editor/Modules/Theme/CanHideDrawer.cs +34 -34
  1187. package/Editor/Modules/Theme/ColorStyleObject.cs +9 -9
  1188. package/Editor/Modules/Theme/FilterSelection.cs +41 -41
  1189. package/Editor/Modules/Theme/FontStyleObject.cs +9 -9
  1190. package/Editor/Modules/Theme/GradientStyleObject.cs +9 -9
  1191. package/Editor/Modules/Theme/ImageStyleObject.cs +9 -9
  1192. package/Editor/Modules/Theme/LayoutStyleObject.cs +9 -9
  1193. package/Editor/Modules/Theme/PaletteStyleObject.cs +30 -30
  1194. package/Editor/Modules/Theme/SelectableStyleObject.cs +9 -9
  1195. package/Editor/Modules/Theme/SoundStyleObject.cs +9 -9
  1196. package/Editor/Modules/Theme/StringStyleObject.cs +9 -9
  1197. package/Editor/Modules/Theme/Style/ButtonStyleObjectPropertyDrawer.cs +61 -61
  1198. package/Editor/Modules/Theme/Style/GeneralPaletteBindingOptionDrawer.cs +25 -25
  1199. package/Editor/Modules/Theme/Style/ThemeSelectorEditor.cs +79 -79
  1200. package/Editor/Modules/Theme/TextStyleObject.cs +9 -9
  1201. package/Editor/Modules/Theme/ThemeConfigurationPropertyDrawer.cs +64 -64
  1202. package/Editor/Modules/Theme/TransformStyleObject.cs +9 -9
  1203. package/Editor/Modules/Theme/WindowStyleObject.cs +9 -9
  1204. package/Editor/NoOpAnalyticsTracker.cs +22 -22
  1205. package/Editor/ReflectionCache/ReflectionCacheAssetPostProcessor.cs +68 -68
  1206. package/Editor/ResetPlayerAccessTokenEditor.cs +63 -63
  1207. package/Editor/Server/AssemblyDefinitionHelper.cs +237 -237
  1208. package/Editor/Server/CommonAreaService.cs +198 -189
  1209. package/Editor/Server/DependencyResolver.cs +177 -177
  1210. package/Editor/Server/ExtensionMethods.cs +40 -40
  1211. package/Editor/Server/MicroserviceConfiguration.cs +87 -87
  1212. package/Editor/Server/RegisterDependencies.cs +33 -33
  1213. package/Editor/Server/UI/Configs/BeamFederationSetting.cs +160 -160
  1214. package/Editor/Server/UI/Configs/BeamStorageDependencySetting.cs +55 -55
  1215. package/Editor/Server/UI/Configs/BeamableMicroservicesSettings.cs +180 -180
  1216. package/Editor/Server/UI/Configs/BeamableStorageSettings.cs +83 -83
  1217. package/Editor/Server/UI/FederationPropertyDrawer.cs +209 -209
  1218. package/Editor/Server/UI/PublishWindow/UsamPublishWindow.cs +442 -442
  1219. package/Editor/Server/UI/PublishWindow/UsamPublishWindow_FatalError.cs +39 -39
  1220. package/Editor/Server/UI/PublishWindow/UsamPublishWindow_Plan.cs +125 -125
  1221. package/Editor/Server/UI/PublishWindow/UsamPublishWindow_Review.cs +247 -247
  1222. package/Editor/Server/UI/UsamWindow/ServicePickerWindow.cs +308 -308
  1223. package/Editor/Server/UI/UsamWindow/UsamWindow.cs +94 -94
  1224. package/Editor/Server/UI/UsamWindow/UsamWindow_Badges.cs +55 -55
  1225. package/Editor/Server/UI/UsamWindow/UsamWindow_Create.cs +325 -325
  1226. package/Editor/Server/UI/UsamWindow/UsamWindow_Docker.cs +111 -111
  1227. package/Editor/Server/UI/UsamWindow/UsamWindow_Main.cs +321 -321
  1228. package/Editor/Server/UI/UsamWindow/UsamWindow_Service.cs +313 -313
  1229. package/Editor/Server/UI/UsamWindow/UsamWindow_Settings.cs +405 -405
  1230. package/Editor/Server/UI/UsamWindow/UsamWindow_Storage.cs +237 -237
  1231. package/Editor/Server/Usam/AssemblyUtil.cs +136 -136
  1232. package/Editor/Server/Usam/CsProjUtil.cs +12 -12
  1233. package/Editor/Server/Usam/CsharpProjectUtil.cs +325 -325
  1234. package/Editor/Server/Usam/ServiceRoutingStrategy.cs +81 -81
  1235. package/Editor/Server/Usam/UsamLogger.cs +46 -46
  1236. package/Editor/Server/Usam/UsamService.cs +1152 -1150
  1237. package/Editor/Server/Usam/UsamService_GenerateClient.cs +243 -243
  1238. package/Editor/Server/Usam/UsamService_Reload.cs +119 -119
  1239. package/Editor/Server/WebhookContentEditor/RouteParametersPropertyDrawer.cs +309 -309
  1240. package/Editor/Server/WebhookContentEditor/RouteVariablesPropertyDrawer.cs +56 -56
  1241. package/Editor/Server/WebhookContentEditor/ServiceRoutePropertyDrawer.cs +137 -137
  1242. package/Editor/ServiceStorage.cs +128 -128
  1243. package/Editor/SessionStorageLayer.cs +29 -29
  1244. package/Editor/TextMeshProImporter.cs +101 -101
  1245. package/Editor/Toolbar/BeamableToolbarAssetPostProcessor.cs +32 -32
  1246. package/Editor/Toolbar/BeamableToolbarButton.cs +45 -45
  1247. package/Editor/Toolbar/BeamableToolbarCallbacks.cs +153 -153
  1248. package/Editor/Toolbar/BeamableToolbarExtender.cs +137 -137
  1249. package/Editor/Toolbar/BeamableToolbarMenuItem.cs +40 -40
  1250. package/Editor/Toolbar/MenuItems/AccountMenuItem.cs +51 -51
  1251. package/Editor/Toolbar/MenuItems/BeamableConfigurationManagerMenuItem.cs +21 -21
  1252. package/Editor/Toolbar/MenuItems/BeamableContentManagerMenuItem.cs +20 -20
  1253. package/Editor/Toolbar/MenuItems/BeamableMicroserviceManagerMenuItem.cs +20 -20
  1254. package/Editor/Toolbar/MenuItems/BeamablePortalMenuItem.cs +18 -18
  1255. package/Editor/Toolbar/MenuItems/BeamableRealmMenuItem.cs +100 -99
  1256. package/Editor/Toolbar/MenuItems/BeamableToolbarMenuItemSeparator.cs +17 -17
  1257. package/Editor/Toolbar/MenuItems/BeamableToolboxWindowMenuItem.cs +20 -20
  1258. package/Editor/Toolbar/ToolbarButtons/SampleBeamableButton.cs +27 -27
  1259. package/Editor/UI/AccountWindow/AccountWindow.cs +3 -2
  1260. package/Editor/UI/AccountWindow/AccountWindow_Games.cs +11 -2
  1261. package/Editor/UI/BeamEditorWindow.cs +393 -393
  1262. package/Editor/UI/BeamGUI/BeamGUI_Dropdowns.cs +205 -205
  1263. package/Editor/UI/BeamGUI/BeamGUI_Enabled.cs +31 -31
  1264. package/Editor/UI/BeamGUI/BeamGUI_Header.cs +148 -148
  1265. package/Editor/UI/BeamGUI/BeamGUI_Icons.cs +330 -330
  1266. package/Editor/UI/BeamGUI/BeamGUI_LoadingBars.cs +105 -105
  1267. package/Editor/UI/BeamGUI/BeamGUI_PlaceholdTextField.cs +64 -64
  1268. package/Editor/UI/BeamGUI/BeamGUI_PrimaryButton.cs +178 -178
  1269. package/Editor/UI/BeamGUI/BeamGUI_Spinner.cs +30 -30
  1270. package/Editor/UI/BeamGUI/BeamGUI_StaticConstructor.cs +17 -17
  1271. package/Editor/UI/BeamGUI/BeamGUI_Toggle.cs +41 -41
  1272. package/Editor/UI/BeamGUI/PropertyDrawers/HelpBoxDecoratorDrawer.cs +32 -32
  1273. package/Editor/UI/Common/FormConstraint.cs +53 -53
  1274. package/Editor/UI/Common/MediaQueryObjectPropertyDrawer.cs +42 -42
  1275. package/Editor/UI/Common/ReparenterCustomEditor.cs +24 -24
  1276. package/Editor/UI/Config/BeamableSettingsProvider.cs +222 -222
  1277. package/Editor/UI/Config/BeamableSpewSettingsProvider.cs +163 -163
  1278. package/Editor/UI/Config/ConfigManager.cs +207 -207
  1279. package/Editor/UI/Config/Model/ConfigOption.cs +26 -26
  1280. package/Editor/UI/Config/Model/ConfigQuery.cs +114 -114
  1281. package/Editor/UI/ContentWindow/ContentWindow.cs +6 -2
  1282. package/Editor/UI/ContentWindow/ContentWindow_ItemsPanel.cs +24 -19
  1283. package/Editor/UI/ContentWindow/ContentWindow_SnapshotManager.cs +2 -2
  1284. package/Editor/UI/CronExpression/Common/Extensions.cs +23 -23
  1285. package/Editor/UI/CronExpression/DescriptionTypeEnum.cs +18 -18
  1286. package/Editor/UI/CronExpression/ExpressionDescriptor.cs +761 -761
  1287. package/Editor/UI/CronExpression/Localization/CronLocalizationData.cs +77 -77
  1288. package/Editor/UI/CronExpression/Localization/CronLocalizationDatabase.cs +15 -15
  1289. package/Editor/UI/HelpMenuItems.cs +29 -29
  1290. package/Editor/UI/IDelayedActionWindow.cs +10 -10
  1291. package/Editor/UI/LibraryWindow/BeamLibraryWindow.cs +71 -71
  1292. package/Editor/UI/LibraryWindow/BeamLibraryWindow_Main.cs +35 -35
  1293. package/Editor/UI/LibraryWindow/BeamLibraryWindow_Samples.cs +330 -330
  1294. package/Editor/UI/Toolbox/ToolboxWindow.cs +19 -19
  1295. package/Editor/Utility/BeamableAssetDatabase.cs +30 -30
  1296. package/Editor/Utility/BeamableDispatcher.cs +222 -222
  1297. package/Editor/Utility/EditorDebouncer.cs +78 -78
  1298. package/Editor/Utility/EditorFilesystemAccessor.cs +13 -13
  1299. package/Editor/Utility/EditorGUIExtension.cs +148 -148
  1300. package/Editor/Utility/EditorGUIRectController.cs +72 -72
  1301. package/Editor/Utility/FilePathSelectorDrawer.cs +81 -81
  1302. package/Editor/Utility/FileUtils.cs +76 -76
  1303. package/Editor/Utility/PlayerSettingsExtensions.cs +54 -54
  1304. package/Editor/Utility/PromiseEditor.cs +22 -22
  1305. package/Editor/Utility/PropertyDrawerFinder.cs +235 -235
  1306. package/Editor/Utility/ReadonlyIfDrawer.cs +56 -56
  1307. package/Editor/Utility/ShowOnlyDrawer.cs +36 -36
  1308. package/Editor/Utility/TaskUtil.cs +58 -58
  1309. package/Editor/Utility/UnityOtelManager.cs +17 -5
  1310. package/README.md +2 -9
  1311. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/BuildRequests.cs +961 -961
  1312. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/CoroutineClass.cs +1396 -1396
  1313. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/ExceptionHandlers.cs +295 -295
  1314. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/Helpers.cs +1337 -1337
  1315. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/IPubnubUnitTest.cs +31 -31
  1316. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/JSONSerializer.cs +62 -62
  1317. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/LoggingMethod.cs +661 -661
  1318. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/MD5.cs +723 -723
  1319. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/Pubnub.cs +1164 -1164
  1320. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/PubnubCallbacks.cs +464 -464
  1321. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/PubnubCrypto.cs +77 -77
  1322. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/PubnubUnity.cs +2080 -2080
  1323. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/ReconnectState.cs +180 -180
  1324. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/SafeDictionary.cs +204 -204
  1325. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/SharedStringBuilder.cs +23 -23
  1326. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/SharedStringBuilder.cs.meta +2 -2
  1327. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/SubscribeEnvelope.cs +226 -226
  1328. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/Subscription.cs +421 -421
  1329. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/Utility.cs +350 -350
  1330. package/Runtime/3rdParty/UnityUIExtensions/ExtentionMethods.cs +19 -19
  1331. package/Runtime/3rdParty/UnityUIExtensions/Gradient.cs +122 -122
  1332. package/Runtime/3rdParty/UnityUIExtensions/HorizontalScrollSnap.cs +317 -317
  1333. package/Runtime/3rdParty/UnityUIExtensions/IScrollSnap.cs +15 -15
  1334. package/Runtime/3rdParty/UnityUIExtensions/ScrollSnap.cs +573 -573
  1335. package/Runtime/3rdParty/UnityUIExtensions/ScrollSnapBase.cs +615 -615
  1336. package/Runtime/3rdParty/UnityUIExtensions/ScrollSnapScrollbarHelper.cs +56 -56
  1337. package/Runtime/3rdParty/UnityUIExtensions/UI_InfiniteScroll.cs +175 -175
  1338. package/Runtime/3rdParty/VirtualList/Editor/AbstractVirtualListEditor.cs +43 -43
  1339. package/Runtime/3rdParty/VirtualList/Runtime/AbstractVirtualList.cs +388 -388
  1340. package/Runtime/3rdParty/VirtualList/Runtime/IListSource.cs +50 -50
  1341. package/Runtime/3rdParty/VirtualList/Runtime/SimpleSource.cs +81 -81
  1342. package/Runtime/3rdParty/VirtualList/Runtime/VirtualGridList.cs +123 -123
  1343. package/Runtime/3rdParty/VirtualList/Runtime/VirtualHorizontalList.cs +84 -84
  1344. package/Runtime/3rdParty/VirtualList/Runtime/VirtualVerticalList.cs +84 -84
  1345. package/Runtime/3rdParty/WebSocket/WebSocket.cs +866 -866
  1346. package/Runtime/API.cs +267 -267
  1347. package/Runtime/Beam.cs +528 -528
  1348. package/Runtime/BeamContext.cs +1037 -1037
  1349. package/Runtime/Commands/CommandExtensions.cs +26 -26
  1350. package/Runtime/Commands/ICommand.cs +7 -7
  1351. package/Runtime/Connection/BeamableSubscriptionManager.cs +38 -38
  1352. package/Runtime/Connection/IBeamableConnection.cs +30 -30
  1353. package/Runtime/Connection/WebSocketConnection.cs +285 -285
  1354. package/Runtime/Connection/WebSocketConnectionException.cs +9 -9
  1355. package/Runtime/Core/Config/ConfigConsoleCommands.cs +69 -69
  1356. package/Runtime/Core/Config/ConfigConsoleCommands.cs.meta +2 -2
  1357. package/Runtime/Core/Config/ConfigDatabase.cs +253 -253
  1358. package/Runtime/Core/Config/RuntimeConfigProvider.cs +86 -86
  1359. package/Runtime/Core/ConsoleCommands/BeamableConsole.cs +169 -169
  1360. package/Runtime/Core/ConsoleCommands/BeamableConsole.cs.meta +2 -2
  1361. package/Runtime/Core/ConsoleCommands/BeamableConsoleCommandAttribute.cs +27 -27
  1362. package/Runtime/Core/ConsoleCommands/BeamableConsoleCommandProviderAttribute.cs +15 -15
  1363. package/Runtime/Core/ConsoleCommands/BeamableConsoleCommandProviderAttribute.cs.meta +2 -2
  1364. package/Runtime/Core/ConsoleCommands/DefaultConsoleCommands.cs +45 -45
  1365. package/Runtime/Core/ConsoleCommands/DefaultConsoleCommands.cs.meta +2 -2
  1366. package/Runtime/Core/Coroutines/CompletedYieldInstruction.cs +14 -14
  1367. package/Runtime/Core/Coroutines/CoroutineService.cs +115 -115
  1368. package/Runtime/Core/Coroutines/Debouncer.cs +147 -147
  1369. package/Runtime/Core/Coroutines/Yielders.cs +40 -40
  1370. package/Runtime/Core/Extensions/TransformExtensions.cs +118 -118
  1371. package/Runtime/Core/Platform/SDK/AccessToken.cs +151 -151
  1372. package/Runtime/Core/Platform/SDK/AccessTokenStorage.cs +225 -225
  1373. package/Runtime/Core/Platform/SDK/AdvertisingIdentifier/AdvertisingIdentifier.cs +30 -30
  1374. package/Runtime/Core/Platform/SDK/Analytics/AnalyticsTracker.cs +200 -200
  1375. package/Runtime/Core/Platform/SDK/Analytics/Batch/BatchContainer.cs +107 -107
  1376. package/Runtime/Core/Platform/SDK/Analytics/Batch/BatchManager.cs +207 -207
  1377. package/Runtime/Core/Platform/SDK/Analytics/Batch/IBatchContainer.cs +66 -66
  1378. package/Runtime/Core/Platform/SDK/Analytics/Batch/PersistentBatchManager.cs +143 -143
  1379. package/Runtime/Core/Platform/SDK/Analytics/Batch/SerializableBatch.cs +33 -33
  1380. package/Runtime/Core/Platform/SDK/Analytics/Models/BillerPurchaseFailedEvent.cs +16 -16
  1381. package/Runtime/Core/Platform/SDK/Analytics/Models/LoginPanicEvent.cs +19 -19
  1382. package/Runtime/Core/Platform/SDK/Announcements/AnnouncementsService.cs +121 -121
  1383. package/Runtime/Core/Platform/SDK/Auth/AuthService.cs +230 -230
  1384. package/Runtime/Core/Platform/SDK/Auth/DeviceIdResolver.cs +24 -24
  1385. package/Runtime/Core/Platform/SDK/Auth/GCIdentity.cs +24 -24
  1386. package/Runtime/Core/Platform/SDK/Auth/GoogleSignIn.cs +89 -89
  1387. package/Runtime/Core/Platform/SDK/Auth/SignInWithApple.cs +263 -263
  1388. package/Runtime/Core/Platform/SDK/Auth/SignInWithFacebookLimited.cs +112 -112
  1389. package/Runtime/Core/Platform/SDK/Auth/SignInWithGPG.cs +109 -109
  1390. package/Runtime/Core/Platform/SDK/Auth/SignInWithGameCenter.cs +107 -107
  1391. package/Runtime/Core/Platform/SDK/BeamableApiRequester.cs +112 -112
  1392. package/Runtime/Core/Platform/SDK/Caches/OfflineCache.cs +319 -319
  1393. package/Runtime/Core/Platform/SDK/Calendars/CalendarsService.cs +123 -123
  1394. package/Runtime/Core/Platform/SDK/Chat/ChatProvider.cs +190 -190
  1395. package/Runtime/Core/Platform/SDK/Chat/ChatService.cs +61 -61
  1396. package/Runtime/Core/Platform/SDK/Chat/ChatView.cs +292 -292
  1397. package/Runtime/Core/Platform/SDK/Chat/PubNubChatProvider.cs +51 -51
  1398. package/Runtime/Core/Platform/SDK/Chat/PubNubRoom.cs +135 -135
  1399. package/Runtime/Core/Platform/SDK/Chat/Room.cs +121 -121
  1400. package/Runtime/Core/Platform/SDK/CloudData/CloudDataConsoleCommands.cs +52 -52
  1401. package/Runtime/Core/Platform/SDK/CloudData/CloudDataService.cs +24 -24
  1402. package/Runtime/Core/Platform/SDK/CloudSaving/CloudSavingError.cs +14 -14
  1403. package/Runtime/Core/Platform/SDK/CloudSaving/CloudSavingExtensions.cs +82 -82
  1404. package/Runtime/Core/Platform/SDK/CometClientData.cs +44 -44
  1405. package/Runtime/Core/Platform/SDK/CometClientData.cs.meta +2 -2
  1406. package/Runtime/Core/Platform/SDK/Commerce/CommerceConsoleCommands.cs +45 -45
  1407. package/Runtime/Core/Platform/SDK/Commerce/CommerceService.cs +101 -101
  1408. package/Runtime/Core/Platform/SDK/Commerce/ICommerceConfig.cs +19 -19
  1409. package/Runtime/Core/Platform/SDK/Connectivity/Connectivity.cs +238 -238
  1410. package/Runtime/Core/Platform/SDK/Connectivity/IConnectivityChecker.cs +109 -109
  1411. package/Runtime/Core/Platform/SDK/ErrorCode.cs +62 -62
  1412. package/Runtime/Core/Platform/SDK/Events/EventsService.cs +129 -129
  1413. package/Runtime/Core/Platform/SDK/Groups/GroupsService.cs +58 -58
  1414. package/Runtime/Core/Platform/SDK/Gzip.cs +51 -51
  1415. package/Runtime/Core/Platform/SDK/Inventory/InventoryConsoleCommands.cs +65 -65
  1416. package/Runtime/Core/Platform/SDK/Inventory/InventoryService.cs +149 -149
  1417. package/Runtime/Core/Platform/SDK/Inventory/InventoryService.cs.meta +2 -2
  1418. package/Runtime/Core/Platform/SDK/Inventory.meta +2 -2
  1419. package/Runtime/Core/Platform/SDK/Leaderboard/LeaderboardService.cs +31 -31
  1420. package/Runtime/Core/Platform/SDK/Mail/MailService.cs +44 -44
  1421. package/Runtime/Core/Platform/SDK/Matchmaking/Match.cs +46 -46
  1422. package/Runtime/Core/Platform/SDK/Matchmaking/MatchmakingService.cs +450 -450
  1423. package/Runtime/Core/Platform/SDK/Matchmaking/Ticket.cs +36 -36
  1424. package/Runtime/Core/Platform/SDK/Matchmaking/TicketReservationRequest.cs +43 -43
  1425. package/Runtime/Core/Platform/SDK/Matchmaking/TicketReservationResponse.cs +21 -21
  1426. package/Runtime/Core/Platform/SDK/Notification/Internal/AppleLocalNotificationRelay.cs +117 -117
  1427. package/Runtime/Core/Platform/SDK/Notification/Internal/DummyLocalNotificationRelay.cs +33 -33
  1428. package/Runtime/Core/Platform/SDK/Notification/Internal/GoogleLocalNotificationRelay.cs +86 -86
  1429. package/Runtime/Core/Platform/SDK/Notification/Internal/ILocalNotificationRelay.cs +40 -40
  1430. package/Runtime/Core/Platform/SDK/Notification/Internal/IMessageHandler.cs +11 -11
  1431. package/Runtime/Core/Platform/SDK/Notification/Internal/InGameNotification.cs +39 -39
  1432. package/Runtime/Core/Platform/SDK/Notification/Internal/MultiChannelSubscriptionHandler.cs +90 -90
  1433. package/Runtime/Core/Platform/SDK/Notification/NotificationService.cs +505 -505
  1434. package/Runtime/Core/Platform/SDK/Notification/PubnubData.cs +50 -50
  1435. package/Runtime/Core/Platform/SDK/Notification/PubnubSubscriptionManager.cs +668 -668
  1436. package/Runtime/Core/Platform/SDK/Notification/PushProvider.cs +25 -25
  1437. package/Runtime/Core/Platform/SDK/Notification/PushService.cs +74 -74
  1438. package/Runtime/Core/Platform/SDK/Payments/IBeamablePurchaser.cs +62 -62
  1439. package/Runtime/Core/Platform/SDK/Payments/IPaymentServiceOptions.cs +38 -38
  1440. package/Runtime/Core/Platform/SDK/Payments/PaymentErrorCodes.cs +17 -17
  1441. package/Runtime/Core/Platform/SDK/Payments/PaymentModel.cs +75 -75
  1442. package/Runtime/Core/Platform/SDK/Payments/PaymentService.cs +445 -445
  1443. package/Runtime/Core/Platform/SDK/Payments/PaymentTransaction.cs +138 -138
  1444. package/Runtime/Core/Platform/SDK/Payments/TransactionManager.cs +348 -348
  1445. package/Runtime/Core/Platform/SDK/PlatformFilesystemAccessor.cs +14 -14
  1446. package/Runtime/Core/Platform/SDK/PlatformRequester.cs +761 -761
  1447. package/Runtime/Core/Platform/SDK/PlatformRequesterExceptions.cs +31 -31
  1448. package/Runtime/Core/Platform/SDK/PlatformRequesterExtensions.cs +21 -21
  1449. package/Runtime/Core/Platform/SDK/PlatformRequesterInterfaces.cs +29 -29
  1450. package/Runtime/Core/Platform/SDK/PlatformService.cs +81 -81
  1451. package/Runtime/Core/Platform/SDK/PlatformSubscribable.cs +621 -621
  1452. package/Runtime/Core/Platform/SDK/Polyfill.cs +25 -25
  1453. package/Runtime/Core/Platform/SDK/PubnubNotificationService.cs +42 -42
  1454. package/Runtime/Core/Platform/SDK/Session/Heartbeat.cs +127 -127
  1455. package/Runtime/Core/Platform/SDK/Session/SessionDeviceOptions.cs +213 -213
  1456. package/Runtime/Core/Platform/SDK/Session/SessionParameterProvider.cs +61 -61
  1457. package/Runtime/Core/Platform/SDK/Session/SessionService.cs +292 -292
  1458. package/Runtime/Core/Platform/SDK/Session/SessionServiceHelper.cs +192 -192
  1459. package/Runtime/Core/Platform/SDK/Sim/GameRelayService.cs +243 -243
  1460. package/Runtime/Core/Platform/SDK/Sim/SimBehavior.cs +73 -73
  1461. package/Runtime/Core/Platform/SDK/Sim/SimClient.cs +427 -427
  1462. package/Runtime/Core/Platform/SDK/Sim/SimEvent.cs +39 -39
  1463. package/Runtime/Core/Platform/SDK/Sim/SimFaultHandler.cs +172 -172
  1464. package/Runtime/Core/Platform/SDK/Sim/SimFrame.cs +76 -76
  1465. package/Runtime/Core/Platform/SDK/Sim/SimLog.cs +113 -113
  1466. package/Runtime/Core/Platform/SDK/Sim/SimNetworkInterface.cs +79 -79
  1467. package/Runtime/Core/Platform/SDK/Sim/network/eventStream/SimNetworkEventStream.cs +186 -186
  1468. package/Runtime/Core/Platform/SDK/Sim/network/local/SimNetworkLocal.cs +62 -62
  1469. package/Runtime/Core/Platform/SDK/Social/SocialService.cs +22 -22
  1470. package/Runtime/Core/Platform/SDK/Stats/StatsService.cs +96 -96
  1471. package/Runtime/Core/Platform/SDK/TokenAnalyticsUtil.cs +65 -65
  1472. package/Runtime/Core/Platform/SDK/Tournaments/TournamentConsoleCommands.cs +87 -87
  1473. package/Runtime/Core/Platform/SDK/Tournaments/TournamentService.cs +26 -26
  1474. package/Runtime/Core/Platform/SDK/UnityUserDataCache.cs +169 -169
  1475. package/Runtime/Core/Platform/TaskLikeExtensions.cs +26 -26
  1476. package/Runtime/Core/Pooling/DisablePool.cs +104 -104
  1477. package/Runtime/Core/Pooling/HidePool.cs +203 -203
  1478. package/Runtime/Core/Pooling/HidePoolObject.cs +15 -15
  1479. package/Runtime/Core/Pooling/HidePoolService.cs +64 -64
  1480. package/Runtime/Core/Pooling/StaticClassPool.cs +82 -82
  1481. package/Runtime/Core/Pooling/StringBuilderPool.cs +116 -116
  1482. package/Runtime/Dependencies/GameObjectContext.cs +36 -36
  1483. package/Runtime/Dependencies/ILoadWithContext.cs +12 -12
  1484. package/Runtime/Environment/BeamableEnvironment.cs +134 -134
  1485. package/Runtime/Environment/Resources/env-default.json +7 -7
  1486. package/Runtime/Environment/Resources/versions-default.json +1 -1
  1487. package/Runtime/ExperimentalAPI.cs +49 -49
  1488. package/Runtime/GlobalServices/BeamableGlobalGameObject.cs +37 -37
  1489. package/Runtime/HelpBoxDecoratorAttribute.cs +16 -16
  1490. package/Runtime/InventoryViewEx.cs +171 -171
  1491. package/Runtime/Modules/AccountManagement/Scripts/AccountAvatarBehaviour.cs +51 -51
  1492. package/Runtime/Modules/AccountManagement/Scripts/AccountCustomizationBehaviour.cs +185 -185
  1493. package/Runtime/Modules/AccountManagement/Scripts/AccountDisplayItem.cs +245 -245
  1494. package/Runtime/Modules/AccountManagement/Scripts/AccountEmailLogin.cs +126 -126
  1495. package/Runtime/Modules/AccountManagement/Scripts/AccountExistsSelect.cs +27 -27
  1496. package/Runtime/Modules/AccountManagement/Scripts/AccountForgotPassword.cs +63 -63
  1497. package/Runtime/Modules/AccountManagement/Scripts/AccountGeneralErrorBehaviour.cs +15 -15
  1498. package/Runtime/Modules/AccountManagement/Scripts/AccountMainMenu.cs +315 -315
  1499. package/Runtime/Modules/AccountManagement/Scripts/AccountManagementAdapter.cs +75 -75
  1500. package/Runtime/Modules/AccountManagement/Scripts/AccountManagementBehaviour.cs +68 -68
  1501. package/Runtime/Modules/AccountManagement/Scripts/AccountManagementCommands.cs +50 -50
  1502. package/Runtime/Modules/AccountManagement/Scripts/AccountManagementConfiguration.cs +172 -172
  1503. package/Runtime/Modules/AccountManagement/Scripts/AccountManagementHelper.cs +40 -40
  1504. package/Runtime/Modules/AccountManagement/Scripts/AccountManagementSignals.cs +716 -716
  1505. package/Runtime/Modules/AccountManagement/Scripts/AccountPlayerDataMenu.cs +94 -94
  1506. package/Runtime/Modules/AccountManagement/Scripts/AccountSwitch.cs +55 -55
  1507. package/Runtime/Modules/AccountManagement/Scripts/AccountThirdPartyWaitingMenu.cs +22 -22
  1508. package/Runtime/Modules/AccountManagement/Scripts/AppleSignInBehavior.cs +64 -64
  1509. package/Runtime/Modules/AccountManagement/Scripts/ForgotPasswordArguments.cs +10 -10
  1510. package/Runtime/Modules/AccountManagement/Scripts/GoogleGameServicesBehavior.cs +67 -67
  1511. package/Runtime/Modules/AccountManagement/Scripts/GoogleSignInBehavior.cs +70 -70
  1512. package/Runtime/Modules/AccountManagement/Scripts/LoadingPopup.cs +34 -34
  1513. package/Runtime/Modules/AccountManagement/Scripts/LoginArguments.cs +10 -10
  1514. package/Runtime/Modules/AccountManagement/Scripts/ThirdPartyLoginArgument.cs +10 -10
  1515. package/Runtime/Modules/AccountManagement/Scripts/TokenReference.cs +10 -10
  1516. package/Runtime/Modules/Announcements/Rework/AnnouncementsCollection.cs +53 -53
  1517. package/Runtime/Modules/Announcements/Rework/AnnouncementsPresenter.cs +70 -70
  1518. package/Runtime/Modules/Announcements/Scripts/AnnouncementBehavior.cs +22 -22
  1519. package/Runtime/Modules/Announcements/Scripts/AnnouncementMainMenu.cs +79 -79
  1520. package/Runtime/Modules/Announcements/Scripts/AnnouncementReadMenu.cs +47 -47
  1521. package/Runtime/Modules/Announcements/Scripts/AnnouncementSignals.cs +39 -39
  1522. package/Runtime/Modules/Announcements/Scripts/AnnouncementSummary.cs +19 -19
  1523. package/Runtime/Modules/Avatars/Scripts/AvatarConfiguration.cs +33 -33
  1524. package/Runtime/Modules/Avatars/Scripts/AvatarPickerBehaviour.cs +99 -99
  1525. package/Runtime/Modules/BeamableDisplayModule.cs +83 -83
  1526. package/Runtime/Modules/BeamableModule.cs +17 -17
  1527. package/Runtime/Modules/Calendars/Scripts/CalendarBehaviour.cs +85 -85
  1528. package/Runtime/Modules/Calendars/Scripts/CalendarFlowMainPage.cs +8 -8
  1529. package/Runtime/Modules/Calendars/Scripts/CalendarRewardsDay.cs +32 -32
  1530. package/Runtime/Modules/Console/ConsoleConfiguration.cs +25 -25
  1531. package/Runtime/Modules/Console/ConsoleFlow.cs +662 -662
  1532. package/Runtime/Modules/Content/ContentCache.cs +184 -184
  1533. package/Runtime/Modules/Content/ContentCommands.cs +161 -161
  1534. package/Runtime/Modules/Content/ContentConfiguration.cs +161 -161
  1535. package/Runtime/Modules/Content/ContentParameterProvider.cs +9 -9
  1536. package/Runtime/Modules/Content/ContentService.cs +739 -739
  1537. package/Runtime/Modules/Content/Extensions.cs +42 -42
  1538. package/Runtime/Modules/Content/IManifestResolver.cs +42 -42
  1539. package/Runtime/Modules/Content/Manifest.cs +22 -22
  1540. package/Runtime/Modules/CoreConfiguration.cs +285 -285
  1541. package/Runtime/Modules/CurrencyHUD/CurrencyHUDFlow.cs +74 -74
  1542. package/Runtime/Modules/Generics/CollectionPresenter.cs +9 -9
  1543. package/Runtime/Modules/Generics/DataCollection.cs +19 -19
  1544. package/Runtime/Modules/Generics/DataPresenter.cs +40 -40
  1545. package/Runtime/Modules/Generics/GenericButton.cs +21 -21
  1546. package/Runtime/Modules/Generics/Model.cs +26 -26
  1547. package/Runtime/Modules/Generics/ModelPresenter.cs +25 -25
  1548. package/Runtime/Modules/Input/BeamableInput.cs +45 -45
  1549. package/Runtime/Modules/Input/InputActionArg.cs +55 -55
  1550. package/Runtime/Modules/Inventory/Prototype/GenericComponents/GenericTextButton.cs +36 -36
  1551. package/Runtime/Modules/Inventory/Prototype/InventoryPresenter.cs +159 -159
  1552. package/Runtime/Modules/Inventory/Prototype/ItemPresenter.cs +29 -29
  1553. package/Runtime/Modules/Inventory/Prototype/ItemsCollection.cs +79 -79
  1554. package/Runtime/Modules/Inventory/Prototype/LanguageLocalization/LanguageLocalizationElement.cs +47 -47
  1555. package/Runtime/Modules/Inventory/Prototype/LanguageLocalization/LanguageLocalizationManager.cs +43 -43
  1556. package/Runtime/Modules/Inventory/Prototype/LanguageLocalization/LocalizationHelper.cs +15 -15
  1557. package/Runtime/Modules/Inventory/Scripts/InventoryBehaviour.cs +59 -59
  1558. package/Runtime/Modules/Inventory/Scripts/InventoryCommands.cs +190 -190
  1559. package/Runtime/Modules/Inventory/Scripts/InventoryConfiguration.cs +32 -32
  1560. package/Runtime/Modules/Inventory/Scripts/InventoryGroupUI.cs +56 -56
  1561. package/Runtime/Modules/Inventory/Scripts/InventoryMainMenu.cs +65 -65
  1562. package/Runtime/Modules/Inventory/Scripts/InventoryMenuBehaviour.cs +56 -56
  1563. package/Runtime/Modules/Inventory/Scripts/InventoryObjectUI.cs +38 -38
  1564. package/Runtime/Modules/Inventory/Scripts/InventorySignals.cs +43 -43
  1565. package/Runtime/Modules/Inventory/Scripts/ItemImageSetter.cs +41 -41
  1566. package/Runtime/Modules/Leaderboards/Scripts/LeaderboardBehavior.cs +32 -32
  1567. package/Runtime/Modules/Leaderboards/Scripts/LeaderboardItem.cs +24 -24
  1568. package/Runtime/Modules/Leaderboards/Scripts/LeaderboardMainMenu.cs +80 -80
  1569. package/Runtime/Modules/Leaderboards/Scripts/LeaderboardSignals.cs +33 -33
  1570. package/Runtime/Modules/ModuleConfigurationObject.cs +212 -212
  1571. package/Runtime/Modules/PackageUtil.cs +80 -80
  1572. package/Runtime/Modules/Purchasing/PaymentCommands.cs +55 -55
  1573. package/Runtime/Modules/Purchasing/Steam/SteamPurchasingModule.cs +20 -20
  1574. package/Runtime/Modules/Purchasing/Steam/SteamStore.cs +147 -147
  1575. package/Runtime/Modules/Purchasing/UnityBeamablePurchaser.cs +514 -514
  1576. package/Runtime/Modules/Sessions/SessionConfiguration.cs +16 -16
  1577. package/Runtime/Modules/Shop/Scripts/Defaults/BasicListingRenderer.cs +124 -124
  1578. package/Runtime/Modules/Shop/Scripts/Defaults/BasicStoreRenderer.cs +60 -60
  1579. package/Runtime/Modules/Shop/Scripts/Defaults/ObtainSummaryListCurrencyRenderer.cs +25 -25
  1580. package/Runtime/Modules/Shop/Scripts/Defaults/ObtainSummaryListItemRenderer.cs +23 -23
  1581. package/Runtime/Modules/Shop/Scripts/Defaults/ObtainSummaryListRenderer.cs +37 -37
  1582. package/Runtime/Modules/Shop/Scripts/ListingContent.cs +36 -36
  1583. package/Runtime/Modules/Shop/Scripts/ListingRenderer.cs +10 -10
  1584. package/Runtime/Modules/Shop/Scripts/ObtainRenderer.cs +10 -10
  1585. package/Runtime/Modules/Shop/Scripts/ShopConfiguration.cs +24 -24
  1586. package/Runtime/Modules/Shop/Scripts/ShopFlow.cs +124 -124
  1587. package/Runtime/Modules/Shop/Scripts/ShopLoadingMenu.cs +5 -5
  1588. package/Runtime/Modules/Shop/Scripts/ShopRewardRenderer.cs +26 -26
  1589. package/Runtime/Modules/Shop/Scripts/ShopSignals.cs +45 -45
  1590. package/Runtime/Modules/Signals/DeSignal.cs +68 -68
  1591. package/Runtime/Modules/Signals/DeSignalTower.cs +68 -68
  1592. package/Runtime/Modules/Sound/Scripts/SoundConfiguration.cs +52 -52
  1593. package/Runtime/Modules/Stats/StatBehaviour.cs +181 -181
  1594. package/Runtime/Modules/Stats/StatObject.cs +106 -106
  1595. package/Runtime/Modules/Stats/UserExtensions.cs +89 -89
  1596. package/Runtime/Modules/Theme/Appliers/ButtonStyleApplier.cs +59 -59
  1597. package/Runtime/Modules/Theme/Appliers/GradientStyleApplier.cs +32 -32
  1598. package/Runtime/Modules/Theme/Appliers/ImageStyleApplier.cs +30 -30
  1599. package/Runtime/Modules/Theme/Appliers/LayoutStyleApplier.cs +22 -22
  1600. package/Runtime/Modules/Theme/Appliers/SelectableStyleApplier.cs +32 -32
  1601. package/Runtime/Modules/Theme/Appliers/SoundStyleApplier.cs +27 -27
  1602. package/Runtime/Modules/Theme/Appliers/StringStyleApplier.cs +20 -20
  1603. package/Runtime/Modules/Theme/Appliers/StyleApplier.cs +28 -28
  1604. package/Runtime/Modules/Theme/Appliers/TextStyleApplier.cs +57 -57
  1605. package/Runtime/Modules/Theme/Appliers/TransformStyleApplier.cs +21 -21
  1606. package/Runtime/Modules/Theme/Appliers/WindowStyleApplier.cs +51 -51
  1607. package/Runtime/Modules/Theme/CanHideAttribute.cs +12 -12
  1608. package/Runtime/Modules/Theme/Objects/GradientStyleObject.cs +33 -33
  1609. package/Runtime/Modules/Theme/Objects/ImageStyleObject.cs +27 -27
  1610. package/Runtime/Modules/Theme/Objects/LayoutStyleObject.cs +20 -20
  1611. package/Runtime/Modules/Theme/Objects/SelectableStyleObject.cs +38 -38
  1612. package/Runtime/Modules/Theme/Objects/TextStyleObject.cs +34 -34
  1613. package/Runtime/Modules/Theme/Palette.cs +94 -94
  1614. package/Runtime/Modules/Theme/PaletteStyleCopier.cs +34 -34
  1615. package/Runtime/Modules/Theme/Palettes/ButtonPalette.cs +78 -78
  1616. package/Runtime/Modules/Theme/Palettes/ColorPalette.cs +27 -27
  1617. package/Runtime/Modules/Theme/Palettes/FontPalette.cs +28 -28
  1618. package/Runtime/Modules/Theme/Palettes/GradientPalette.cs +57 -57
  1619. package/Runtime/Modules/Theme/Palettes/ImagePalette.cs +31 -31
  1620. package/Runtime/Modules/Theme/Palettes/LayoutPalette.cs +28 -28
  1621. package/Runtime/Modules/Theme/Palettes/SelectablePalette.cs +36 -36
  1622. package/Runtime/Modules/Theme/Palettes/SoundPalette.cs +30 -30
  1623. package/Runtime/Modules/Theme/Palettes/StringPalette.cs +37 -37
  1624. package/Runtime/Modules/Theme/Palettes/TextPalette.cs +61 -61
  1625. package/Runtime/Modules/Theme/Palettes/TransformPalette.cs +29 -29
  1626. package/Runtime/Modules/Theme/Palettes/WindowPalette.cs +43 -43
  1627. package/Runtime/Modules/Theme/StyleBehaviour.cs +73 -73
  1628. package/Runtime/Modules/Theme/StyleObject.cs +46 -46
  1629. package/Runtime/Modules/Theme/ThemeConfiguration.cs +9 -9
  1630. package/Runtime/Modules/Theme/ThemeObject.cs +160 -160
  1631. package/Runtime/Modules/Tournaments/Scripts/CountdownTextBehaviour.cs +65 -65
  1632. package/Runtime/Modules/Tournaments/Scripts/FixedCharacterFitter.cs +49 -49
  1633. package/Runtime/Modules/Tournaments/Scripts/MockTournamentService.cs +221 -221
  1634. package/Runtime/Modules/Tournaments/Scripts/TabBehaviour.cs +97 -97
  1635. package/Runtime/Modules/Tournaments/Scripts/TournamenClaimableRewardBehaviour.cs +37 -37
  1636. package/Runtime/Modules/Tournaments/Scripts/TournamentColorConstraint.cs +62 -62
  1637. package/Runtime/Modules/Tournaments/Scripts/TournamentDataSource.cs +74 -74
  1638. package/Runtime/Modules/Tournaments/Scripts/TournamentEntryBehavior.cs +221 -221
  1639. package/Runtime/Modules/Tournaments/Scripts/TournamentEntryPlayerBehaviour.cs +152 -152
  1640. package/Runtime/Modules/Tournaments/Scripts/TournamentInfoBehaviour.cs +33 -33
  1641. package/Runtime/Modules/Tournaments/Scripts/TournamentInfoDetailBehaviour.cs +8 -8
  1642. package/Runtime/Modules/Tournaments/Scripts/TournamentInfoDetailContainerBehaviour.cs +32 -32
  1643. package/Runtime/Modules/Tournaments/Scripts/TournamentNumbersBehaviour.cs +20 -20
  1644. package/Runtime/Modules/Tournaments/Scripts/TournamentRewardBehaviour.cs +21 -21
  1645. package/Runtime/Modules/Tournaments/Scripts/TournamentRewardEntryBehaviour.cs +32 -32
  1646. package/Runtime/Modules/Tournaments/Scripts/TournamentRewardPanelBehaviour.cs +78 -78
  1647. package/Runtime/Modules/Tournaments/Scripts/TournamentScoreUtil.cs +77 -77
  1648. package/Runtime/Modules/Tournaments/Scripts/TournamentStageGainBehaviour.cs +25 -25
  1649. package/Runtime/Modules/Tournaments/Scripts/TournamentsBehaviour.cs +630 -630
  1650. package/Runtime/Modules/Tournaments/Scripts/TournamentsConfiguration.cs +32 -32
  1651. package/Runtime/PaymentExtensions.cs +16 -16
  1652. package/Runtime/PlatformConsoleCommands.cs +559 -559
  1653. package/Runtime/PlatformConsoleCommands.cs.meta +2 -2
  1654. package/Runtime/Player/ApiServices.cs +162 -162
  1655. package/Runtime/Player/BeamableBehaviour.cs +142 -142
  1656. package/Runtime/Player/Leaderboards/LeaderboardLists.cs +216 -216
  1657. package/Runtime/Player/Leaderboards/Lists/FriendScoresList.cs +76 -76
  1658. package/Runtime/Player/Leaderboards/Lists/NearbyScoresList.cs +67 -67
  1659. package/Runtime/Player/Leaderboards/Lists/PlayerCollectionScoresList.cs +52 -52
  1660. package/Runtime/Player/Leaderboards/Lists/TopScoresList.cs +41 -41
  1661. package/Runtime/Player/Leaderboards/PlayerLeaderboard.cs +774 -774
  1662. package/Runtime/Player/Leaderboards/PlayerLeaderboards.cs +95 -95
  1663. package/Runtime/Player/MonoBehaviourExtensions.cs +17 -17
  1664. package/Runtime/Player/ObservableAccessToken.cs +12 -12
  1665. package/Runtime/Player/ObservableUser.cs +30 -30
  1666. package/Runtime/Player/PlayerAccounts.cs +2132 -2132
  1667. package/Runtime/Player/PlayerAnnouncements.cs +239 -239
  1668. package/Runtime/Player/PlayerCurrencies.cs +157 -157
  1669. package/Runtime/Player/PlayerFriends.cs +661 -661
  1670. package/Runtime/Player/PlayerInventory.cs +893 -893
  1671. package/Runtime/Player/PlayerItemGroup.cs +200 -200
  1672. package/Runtime/Player/PlayerLobby.cs +328 -328
  1673. package/Runtime/Player/PlayerParty.cs +601 -601
  1674. package/Runtime/Player/PlayerStateService.cs +44 -44
  1675. package/Runtime/Player/PlayerStats.cs +238 -238
  1676. package/Runtime/Player/SdkEventService.cs +259 -259
  1677. package/Runtime/PromiseExtensions.cs +304 -304
  1678. package/Runtime/ReflectionCache/BeamReflectionCache.cs +186 -186
  1679. package/Runtime/ReflectionCache/ReflectionSystemObject.cs +55 -55
  1680. package/Runtime/ReflectionCache/ThirdPartyIdentityReflectionCache.cs +84 -84
  1681. package/Runtime/Server/BeamContextExtensions.cs +13 -13
  1682. package/Runtime/Server/Content/ApiContentExtensions.cs +88 -88
  1683. package/Runtime/Server/LegacyCommon/Mocks/MongoDB/Bson.meta +11 -11
  1684. package/Runtime/Server/MicroserviceClient.cs +415 -415
  1685. package/Runtime/Server/MicroserviceIndividualization.cs +80 -80
  1686. package/Runtime/Server/MicroservicePrefixService.cs +10 -10
  1687. package/Runtime/Server/ThirdPartyFederatedLoginExtensions.cs +60 -60
  1688. package/Runtime/UI/Buttons/DeButtonBehaviour.cs +33 -33
  1689. package/Runtime/UI/Layouts/MediaQueryBehaviour.cs +74 -74
  1690. package/Runtime/UI/Layouts/MediaQueryObject.cs +118 -118
  1691. package/Runtime/UI/Layouts/MediaSourceBehaviour.cs +49 -49
  1692. package/Runtime/UI/Layouts/ReparenterBehaviour.cs +86 -86
  1693. package/Runtime/UI/Layouts/StackLayout.cs +70 -70
  1694. package/Runtime/UI/Lightbeam/DependencyExtensions.cs +359 -359
  1695. package/Runtime/UI/Lightbeam/LightBeam.cs +155 -155
  1696. package/Runtime/UI/Lightbeam/UIExtensions.cs +182 -182
  1697. package/Runtime/UI/Prompt/DePromptBehaviour.cs +38 -38
  1698. package/Runtime/UI/Prompt/DePromptData.cs +14 -14
  1699. package/Runtime/UI/Scripts/AddressableImageBehaviour.cs +15 -15
  1700. package/Runtime/UI/Scripts/AddressableSpriteLoader.cs +107 -107
  1701. package/Runtime/UI/Scripts/BackButtonBehaviour.cs +14 -14
  1702. package/Runtime/UI/Scripts/BeamableAnimationUtil.cs +100 -100
  1703. package/Runtime/UI/Scripts/BeamableButton.cs +33 -33
  1704. package/Runtime/UI/Scripts/BeamableWindow.cs +15 -15
  1705. package/Runtime/UI/Scripts/ClickOffBehaviour.cs +42 -42
  1706. package/Runtime/UI/Scripts/CloseButtonBehaviour.cs +14 -14
  1707. package/Runtime/UI/Scripts/EventSoundBehaviour.cs +55 -55
  1708. package/Runtime/UI/Scripts/GameObjectToggler.cs +25 -25
  1709. package/Runtime/UI/Scripts/InputReference.cs +24 -24
  1710. package/Runtime/UI/Scripts/InputValidationBehaviour.cs +153 -153
  1711. package/Runtime/UI/Scripts/LoadingDisableBehaviour.cs +87 -87
  1712. package/Runtime/UI/Scripts/LoadingIndicator.cs +117 -117
  1713. package/Runtime/UI/Scripts/Menu.cs +47 -47
  1714. package/Runtime/UI/Scripts/MenuManagementBehaviour.cs +268 -268
  1715. package/Runtime/UI/Scripts/MobileUtilities.cs +84 -84
  1716. package/Runtime/UI/Scripts/OfflineNotificationBehaviour.cs +37 -37
  1717. package/Runtime/UI/Scripts/OfflineObject.cs +69 -69
  1718. package/Runtime/UI/Scripts/ScrollButton.cs +23 -23
  1719. package/Runtime/UI/Scripts/ScrollDotsBehaviour.cs +83 -83
  1720. package/Runtime/UI/Scripts/ScrollToAlphaBehaviour.cs +47 -47
  1721. package/Runtime/UI/Scripts/StickyScrollElement.cs +176 -176
  1722. package/Runtime/UI/Scripts/TextReference.cs +15 -15
  1723. package/Runtime/UI/Scripts/TextReferenceBase.cs +14 -14
  1724. package/Runtime/UI/Scripts/TransformOffsetBehaviour.cs +61 -61
  1725. package/Runtime/UI/TextField/DeTextFieldBehaviour.cs +48 -48
  1726. package/Runtime/VectorIntExtensions.cs +45 -45
  1727. package/Samples~/LightBeamSamples/AccountManager/AccountExampleConfig.cs +15 -15
  1728. package/Samples~/LightBeamSamples/AccountManager/AccountManager.cs +57 -57
  1729. package/Samples~/LightBeamSamples/AccountManager/Prefabs/AccountDetailsBehaviour/AccountDetailsBehaviour.cs +53 -53
  1730. package/Samples~/LightBeamSamples/AccountManager/Prefabs/AccountDisplayBehaviour/AccountDisplayBehaviour.cs +51 -51
  1731. package/Samples~/LightBeamSamples/AccountManager/Prefabs/AccountSwitchPage/AccountSwitchPage.cs +42 -42
  1732. package/Samples~/LightBeamSamples/AccountManager/Prefabs/AvatarDisplay/AvatarDisplayBehaviour.cs +21 -21
  1733. package/Samples~/LightBeamSamples/AccountManager/Prefabs/ForgotPasswordPage/ForgotPasswordPage.cs +64 -64
  1734. package/Samples~/LightBeamSamples/AccountManager/Prefabs/HomePage/HomePage.cs +70 -70
  1735. package/Samples~/LightBeamSamples/AccountManager/Prefabs/RecoverEmailPage/RecoverEmailPage.cs +131 -131
  1736. package/Samples~/LightBeamSamples/AccountManager/Prefabs/RegisterEmailPage/RegisterEmailPage.cs +79 -79
  1737. package/Samples~/LightBeamSamples/CurrencyHud/CurrencyHudManager.cs +40 -40
  1738. package/Samples~/LightBeamSamples/CurrencyHud/Prefabs/CurrencyView/CurrencyViewBehaviour.cs +50 -50
  1739. package/Samples~/LightBeamSamples/FriendsManager/FriendsExampleConfig.cs +13 -13
  1740. package/Samples~/LightBeamSamples/FriendsManager/FriendsManager.cs +32 -32
  1741. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/BlockedDisplay/BlockedPlayersDisplayBehaviour.cs +25 -25
  1742. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/FriendDisplay/FriendDisplayBehaviour.cs +31 -31
  1743. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/HomePage/HomePage.cs +31 -31
  1744. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/PlayerFriendsDisplay/PlayerFriendsBehaviour.cs +194 -194
  1745. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/ReceivedInvitesDisplay/ReceivedInviteDisplayBehaviour.cs +31 -31
  1746. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/Selector/Editor/SelectorButtonBehaviourEditor.cs +27 -27
  1747. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/Selector/SelectorButtonBehaviour.cs +13 -13
  1748. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/SentInvitesDisplay/SentInviteDisplayBehaviour.cs +25 -25
  1749. package/Samples~/LightBeamSamples/Inventory/InventoryExampleConfig.cs +12 -12
  1750. package/Samples~/LightBeamSamples/Inventory/InventoryManager.cs +32 -32
  1751. package/Samples~/LightBeamSamples/Inventory/Prefabs/CurrencyDisplay/CurrencyDisplayBehaviour.cs +48 -48
  1752. package/Samples~/LightBeamSamples/Inventory/Prefabs/CurrencyInfoPage/CurrencyInfoBehaviour.cs +70 -70
  1753. package/Samples~/LightBeamSamples/Inventory/Prefabs/HomePage/HomePage.cs +82 -82
  1754. package/Samples~/LightBeamSamples/Inventory/Prefabs/ItemDisplay/ItemDisplayBehaviour.cs +51 -51
  1755. package/Samples~/LightBeamSamples/Inventory/Prefabs/ItemInfoPage/ItemInfoPage.cs +74 -74
  1756. package/Samples~/LightBeamSamples/Inventory/Prefabs/PropertyDisplay/PropertyDisplayBehaviour.cs +21 -21
  1757. package/Samples~/LightBeamSamples/LobbyManager/LobbyExampleConfig.cs +14 -14
  1758. package/Samples~/LightBeamSamples/LobbyManager/LobbyManager.cs +36 -36
  1759. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/CreateLobbyDisplay/CreateLobbyDisplayBehaviour.cs +54 -54
  1760. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/FindLobbyDisplay/FindLobbyDisplayBehaviour.cs +36 -36
  1761. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/HomePage/HomePage.cs +71 -71
  1762. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/JoinLobbyDisplay/JoinLobbyDisplayBehaviour.cs +75 -75
  1763. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/LobbyDetailsDisplay/LobbyDetailsDisplayBehaviour.cs +80 -80
  1764. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/LobbyDisplay/LobbyDisplayBehaviour.cs +27 -27
  1765. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/PlayerDisplay/PlayerIdDisplayBehaviour.cs +17 -17
  1766. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/PlayerLobby/PlayerLobbyBehaviour.cs +112 -112
  1767. package/Samples~/LightBeamSamples/LootBox/BeamableServices~/LootBoxService/LootBoxService.cs +45 -45
  1768. package/Samples~/LightBeamSamples/LootBox/BeamableServices~/LootBoxService/Program.cs +20 -20
  1769. package/Samples~/LightBeamSamples/LootBox/LootBoxExampleConfig.cs +8 -8
  1770. package/Samples~/LightBeamSamples/LootBox/LootBoxManager.cs +30 -30
  1771. package/Samples~/LightBeamSamples/LootBox/Prefabs/LootBoxPage/LootBoxPage.cs +47 -47
  1772. package/Samples~/LightBeamSamples/SceneLoader/Config/LightBeamSceneConfigObject_Editor.cs +37 -37
  1773. package/Samples~/LightBeamSamples/SceneLoader/LightBeamBooter.cs +485 -485
  1774. package/Samples~/LightBeamSamples/SceneLoader/Prefabs/SceneDisplay/SceneDisplayBehaviour.cs +25 -25
  1775. package/Samples~/SampleProjectBase/Scripts/Editor/Beamable/Samples/SampleProjectBase/AutoOpenReadme.cs +46 -46
  1776. package/Samples~/SampleProjectBase/Scripts/Editor/Beamable/Samples/SampleProjectBase/BeamableReadmeEditor.cs +158 -158
  1777. package/Samples~/SampleProjectBase/Scripts/Runtime/Beamable/Samples/SampleProjectBase/Readme.cs +33 -33
  1778. package/Template/SharedSample.cs +19 -19
  1779. package/Tests/Editor/AliasHelperTests.cs +64 -64
  1780. package/Tests/Editor/CLI/DataTransferTests.cs +65 -65
  1781. package/Tests/Editor/Common/BeamUtil/SanitizeStringForPathTests.cs +18 -18
  1782. package/Tests/Editor/Common/TrieTests.cs +253 -253
  1783. package/Tests/Editor/Common/TryInvokeCallbackTests.cs +93 -93
  1784. package/Tests/Editor/ContentObjectTests.cs +65 -65
  1785. package/Tests/Editor/EditorDisruptorEngine/Content/ContentObjectFieldTests.cs +81 -81
  1786. package/Tests/Editor/EditorDisruptorEngine/Content/ContentObjectLinkRefTests.cs +81 -81
  1787. package/Tests/Editor/EditorDisruptorEngine/Content/ExampleContent.cs +10 -10
  1788. package/Tests/Editor/EditorDisruptorEngine/Content/Schedules/CronTests.cs +189 -189
  1789. package/Tests/Editor/EditorTest.cs +51 -51
  1790. package/Tests/Editor/JsonPerfTesting.cs +117 -117
  1791. package/Tests/Editor/JsonPerfTesting_PayloadSize.cs +96 -96
  1792. package/Tests/Editor/JsonTestHelp.cs +82 -82
  1793. package/Tests/Editor/MockLogProvider.cs +47 -47
  1794. package/Tests/Editor/PreserveAttributeTests.cs +26 -26
  1795. package/Tests/Editor/PromiseTests/ErrorTests.cs +582 -582
  1796. package/Tests/Editor/SmallerJSON/InfinityTests.cs +61 -61
  1797. package/Tests/Editor/SmallerJSON/JsonPathTests.cs +107 -107
  1798. package/Tests/Editor/SmallerJSON/JsonSerializeTest.cs +135 -135
  1799. package/Tests/Runtime/Beamable/BeamContextInitTests.cs +103 -103
  1800. package/Tests/Runtime/Beamable/BeamContextTest.cs +72 -72
  1801. package/Tests/Runtime/Beamable/BeamableTest.cs +46 -46
  1802. package/Tests/Runtime/Beamable/Content/ClientManifest/ParseCSVTests.cs +102 -102
  1803. package/Tests/Runtime/Beamable/Content/ContentRegistry/GetTypeFromIdTests.cs +164 -164
  1804. package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/DeserializeEmptyFields.cs +114 -114
  1805. package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/DeserializeTests.cs +1343 -1343
  1806. package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/EscapedStringTests.cs +119 -119
  1807. package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/GetNullStringForTypeTests.cs +104 -104
  1808. package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/SerializeFieldSubclassSerializeTests.cs +157 -157
  1809. package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/SerializeTests.cs +1066 -1066
  1810. package/Tests/Runtime/Beamable/Content/Serialization/TestContentRef.cs +66 -66
  1811. package/Tests/Runtime/Beamable/Content/Serialization/VipContentSerialization/VipContentSerializationTests.cs +34 -34
  1812. package/Tests/Runtime/Beamable/DebouncerTests.cs +110 -110
  1813. package/Tests/Runtime/Beamable/Dependencies/ScopingTests.cs +235 -235
  1814. package/Tests/Runtime/Beamable/Environment/PackageVersionTests/FromSemanticVersionStringTests.cs +161 -161
  1815. package/Tests/Runtime/Beamable/Environment/PackageVersionTests/ImplicitConversionTest.cs +24 -24
  1816. package/Tests/Runtime/Beamable/Environment/PackageVersionTests/RangeOperatorTests.cs +209 -209
  1817. package/Tests/Runtime/Beamable/Environment/PackageVersionTests/ToStringTests.cs +64 -64
  1818. package/Tests/Runtime/Beamable/MockAuthService.cs +218 -218
  1819. package/Tests/Runtime/Beamable/MockBeamContext.cs +171 -171
  1820. package/Tests/Runtime/Beamable/MockBeamableApi.cs +122 -122
  1821. package/Tests/Runtime/Beamable/MockConfigurationHelper.cs +19 -19
  1822. package/Tests/Runtime/Beamable/MockFileAccessor.cs +19 -19
  1823. package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/AcceptAccountSwitchTests.cs +95 -95
  1824. package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/CheckSignedInUserTests.cs +134 -134
  1825. package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/LoginTests.cs +108 -108
  1826. package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/TestHelperExtensions.cs +38 -38
  1827. package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/UpdateLoginEmailTests.cs +81 -81
  1828. package/Tests/Runtime/Beamable/Modules/Leaderboards/IncrementTests.cs +88 -88
  1829. package/Tests/Runtime/Beamable/Modules/Leaderboards/LeaderboardViewSerializeTests.cs +109 -109
  1830. package/Tests/Runtime/Beamable/Modules/Shop/ListingContentTests/ValidateListingTests.cs +66 -66
  1831. package/Tests/Runtime/Beamable/Modules/Stats/StatObjectTests/WriteTests.cs +42 -42
  1832. package/Tests/Runtime/Beamable/Modules/Tournaments/TournamentScoreUtilTests/GetShortScoreTests.cs +329 -329
  1833. package/Tests/Runtime/Beamable/Platform/AccessTokenStorageTests.cs +154 -154
  1834. package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/AuthServiceTestBase.cs +39 -39
  1835. package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/CustomDeviceIdTests.cs +51 -51
  1836. package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/GetUserTests.cs +33 -33
  1837. package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/IsEmailAvailableTests.cs +58 -58
  1838. package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/LoginTests.cs +37 -37
  1839. package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/RemoveDeviceIdTests.cs +69 -69
  1840. package/Tests/Runtime/Beamable/Platform/Connectivity/MockConnectivityService.cs +45 -45
  1841. package/Tests/Runtime/Beamable/Platform/Content/MockContentService.cs +140 -140
  1842. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryResponseTests/MergeViewTests.cs +245 -245
  1843. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryServiceTests/GetItemTests.cs +225 -225
  1844. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryServiceTests/InventoryServiceTestBase.cs +52 -52
  1845. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryServiceTests/UpdateTests.cs +73 -73
  1846. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryTestItem.cs +26 -26
  1847. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryUpdateBuilderTests/AddItemTests.cs +24 -24
  1848. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryUpdateBuilderTests/SerializationTests.cs +227 -227
  1849. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryUpdateBuilderTests/UnitySerializationTests.cs +215 -215
  1850. package/Tests/Runtime/Beamable/Platform/Mail/MailTests.cs +67 -67
  1851. package/Tests/Runtime/Beamable/Platform/MockConnectivityChecker.cs +24 -24
  1852. package/Tests/Runtime/Beamable/Platform/MockPlatformAPI.cs +398 -398
  1853. package/Tests/Runtime/Beamable/Platform/MockPlatformRequester.cs +78 -78
  1854. package/Tests/Runtime/Beamable/Platform/MockPlatformService.cs +47 -47
  1855. package/Tests/Runtime/Beamable/Platform/MockRequesterExtensions.cs +13 -13
  1856. package/Tests/Runtime/Beamable/Platform/TestUtil.cs +59 -59
  1857. package/Tests/Runtime/Beamable/Player/Accounts/ExternalIdentityQueryArgsTests.cs +132 -132
  1858. package/Tests/Runtime/Beamable/Player/Announcements/AnnouncementGiftSerialization.cs +117 -117
  1859. package/Tests/Runtime/Beamable/Player/Announcements/MockAnnouncementsApi.cs +45 -45
  1860. package/Tests/Runtime/Beamable/Player/Announcements/MockNotificationService.cs +70 -70
  1861. package/Tests/Runtime/Beamable/Player/Inventory/GetItemTests.cs +485 -485
  1862. package/Tests/Runtime/Beamable/Player/Inventory/MockInventoryApi.cs +77 -77
  1863. package/Tests/Runtime/Beamable/Player/Leaderboards/ResortTests.cs +236 -236
  1864. package/Tests/Runtime/Beamable/Pooling/StringBuilderPoolTests/SpawnTests.cs +55 -55
  1865. package/Tests/Runtime/Beamable/Promises/PromisePlayModeTests.cs +145 -145
  1866. package/Tests/Runtime/Beamable/Promises/SequenceTests.cs +45 -45
  1867. package/Tests/Runtime/Beamable/QueryBuilder/QueryBuilderTests.cs +94 -94
  1868. package/Tests/Runtime/Server/Runtime/MicroserviceClient/RequestTests.cs +374 -374
  1869. package/Tests/Runtime/Server/Runtime/MicroserviceClient/TestClient.cs +78 -78
  1870. package/Tests/Runtime/Server/Runtime/TestRegistrations.cs +22 -22
  1871. package/package.json +3 -3
  1872. package/Editor/BeamCli/Commands/BeamAddFederationCommandOutput.cs +0 -11
  1873. package/Editor/BeamCli/Commands/BeamAddFederationCommandOutput.cs.meta +0 -11
  1874. package/Editor/BeamCli/Commands/BeamCollectorGet.cs +0 -65
  1875. package/Editor/BeamCli/Commands/BeamCollectorGet.cs.meta +0 -11
  1876. package/Editor/BeamCli/Commands/BeamCollectorStatus.cs +0 -58
  1877. package/Editor/BeamCli/Commands/BeamCollectorStatus.cs.meta +0 -11
  1878. package/Editor/BeamCli/Commands/BeamContentSnapshotType.cs +0 -12
  1879. package/Editor/BeamCli/Commands/BeamContentSnapshotType.cs.meta +0 -11
  1880. package/Editor/BeamCli/Commands/BeamManifestAuthor.cs +0 -13
  1881. package/Editor/BeamCli/Commands/BeamManifestAuthor.cs.meta +0 -11
  1882. package/Editor/BeamCli/Commands/BeamManifestProjectData.cs +0 -13
  1883. package/Editor/BeamCli/Commands/BeamManifestProjectData.cs.meta +0 -11
  1884. package/Editor/BeamCli/Commands/BeamOtelStatusResult.cs +0 -14
  1885. package/Editor/BeamCli/Commands/BeamOtelStatusResult.cs.meta +0 -11
  1886. package/Editor/BeamCli/Commands/BeamRemoveFederationCommandOutput.cs +0 -11
  1887. package/Editor/BeamCli/Commands/BeamRemoveFederationCommandOutput.cs.meta +0 -11
  1888. package/Editor/BeamCli/Commands/BeamSetAllFederationsCommandOutput.cs +0 -11
  1889. package/Editor/BeamCli/Commands/BeamSetAllFederationsCommandOutput.cs.meta +0 -11
  1890. package/Editor/BeamCli/Commands/BeamTelemetryReportStatus.cs +0 -14
  1891. package/Editor/BeamCli/Commands/BeamTelemetryReportStatus.cs.meta +0 -11
  1892. package/Editor/BeamCli/Commands/BeamTelemetryStatus.cs +0 -50
  1893. package/Editor/BeamCli/Commands/BeamTelemetryStatus.cs.meta +0 -11
@@ -1,1337 +1,1337 @@
1
- using Beamable.Common.Dependencies;
2
- using System;
3
- using System.Collections;
4
- using System.Collections.Generic;
5
- using System.Linq;
6
- using System.Net;
7
- using System.Text;
8
-
9
- namespace PubNubMessaging.Core
10
- {
11
- public sealed class Counter
12
- {
13
- private uint current = 0;
14
- private object syncRoot;
15
-
16
- public Counter()
17
- {
18
- syncRoot = new Object();
19
- current = 0;
20
- }
21
-
22
- public uint NextValue()
23
- {
24
- lock (syncRoot)
25
- {
26
- this.current++;
27
- }
28
- return this.current;
29
- }
30
-
31
- public void Reset()
32
- {
33
- lock (syncRoot)
34
- {
35
- this.current = 0;
36
- }
37
- }
38
- }
39
-
40
- internal static class Helpers
41
- {
42
- #region "Helpers"
43
- internal static TimetokenMetadata CreateTimetokenMetadata(object timeTokenDataObject, string whichTT)
44
- {
45
- IDictionary<string, object> timeTokenData = (IDictionary<string, object>)timeTokenDataObject;
46
- TimetokenMetadata timetokenMetadata = new TimetokenMetadata(Utility.CheckKeyAndParseLong(timeTokenData, whichTT, "t"),
47
- timeTokenData["r"].ToString());
48
-
49
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, TimetokenMetadata: {1} \nTimetoken: {2} \nRegion: {3}",
50
- DateTime.Now.ToString(), whichTT, timetokenMetadata.Timetoken, timetokenMetadata.Region),
51
- LoggingMethod.LevelInfo);
52
-
53
- return timetokenMetadata;
54
- }
55
-
56
- internal static void AddToSubscribeMessageList(object dictObject, ref List<SubscribeMessage> subscribeMessages)
57
- {
58
- var dict = dictObject as IDictionary<string, object>;
59
- if ((dict != null) && (dict.Count > 1))
60
- {
61
- string shard = (dict.ContainsKey("a")) ? dict["a"].ToString() : "";
62
- string subscriptionMatch = (dict.ContainsKey("b")) ? dict["b"].ToString() : "";
63
- string channel = (dict.ContainsKey("c")) ? dict["c"].ToString() : "";
64
- object payload = (dict.ContainsKey("d")) ? (object)dict["d"] : null;
65
- string flags = (dict.ContainsKey("f")) ? dict["f"].ToString() : "";
66
- string issuingClientId = (dict.ContainsKey("i")) ? dict["i"].ToString() : "";
67
- string subscribeKey = (dict.ContainsKey("k")) ? dict["k"].ToString() : "";
68
- long sequenceNumber = Utility.CheckKeyAndParseLong(dict, "sequenceNumber", "s");
69
-
70
- TimetokenMetadata originatingTimetoken = (dict.ContainsKey("o")) ? CreateTimetokenMetadata(dict["o"], "Originating TT: ") : null;
71
- TimetokenMetadata publishMetadata = (dict.ContainsKey("p")) ? CreateTimetokenMetadata(dict["p"], "Publish TT: ") : null;
72
- object userMetadata = (dict.ContainsKey("u")) ? (object)dict["u"] : null;
73
-
74
- SubscribeMessage subscribeMessage = new SubscribeMessage(
75
- shard,
76
- subscriptionMatch,
77
- channel,
78
- payload,
79
- flags,
80
- issuingClientId,
81
- subscribeKey,
82
- sequenceNumber,
83
- originatingTimetoken,
84
- publishMetadata,
85
- userMetadata
86
- );
87
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, AddToSubscribeMessageList: \n" +
88
- "shard : {1},\n" +
89
- "subscriptionMatch: {2},\n" +
90
- "channel: {3},\n" +
91
- "payload: {4},\n" +
92
- "flags: {5},\n" +
93
- "issuingClientId: {6},\n" +
94
- "subscribeKey: {7},\n" +
95
- "sequenceNumber: {8},\n" +
96
- "originatingTimetoken tt: {9},\n" +
97
- "originatingTimetoken region: {10},\n" +
98
- "publishMetadata tt: {11},\n" +
99
- "publishMetadata region: {12},\n" +
100
- "userMetadata {13} \n",
101
- DateTime.Now.ToString(),
102
- shard,
103
- subscriptionMatch,
104
- channel,
105
- payload.ToString(),
106
- flags,
107
- issuingClientId,
108
- subscribeKey,
109
- sequenceNumber,
110
- (originatingTimetoken != null) ? originatingTimetoken.Timetoken.ToString() : "",
111
- (originatingTimetoken != null) ? originatingTimetoken.Region : "",
112
- (publishMetadata != null) ? publishMetadata.Timetoken.ToString() : "",
113
- (publishMetadata != null) ? publishMetadata.Region : "",
114
- (userMetadata != null) ? userMetadata.ToString() : "null"),
115
- LoggingMethod.LevelInfo);
116
-
117
-
118
- subscribeMessages.Add(subscribeMessage);
119
- }
120
- else
121
- {
122
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, AddToSubscribeMessageList: CreateListOfSubscribeMessage create " +
123
- "SubscribeMessage failed. dictObject type: {1}, dict type : {2}",
124
- DateTime.Now.ToString(), dictObject.ToString(), dict.ToString()), LoggingMethod.LevelInfo);
125
- }
126
-
127
- }
128
-
129
- internal static List<SubscribeMessage> CreateListOfSubscribeMessage(object message)
130
- {
131
- List<SubscribeMessage> subscribeMessages = new List<SubscribeMessage>();
132
- if (message != null)
133
- {
134
- //JSONFx
135
- object[] messages = message as object[];
136
-
137
- if (messages != null)
138
- {
139
- var myObjectArray = (from item in messages
140
- select item as object).ToArray();
141
- if ((myObjectArray != null) && (myObjectArray.Length > 0))
142
- {
143
-
144
- foreach (object dictObject in myObjectArray)
145
- {
146
- AddToSubscribeMessageList(dictObject, ref subscribeMessages);
147
- }
148
- }
149
- }
150
- else
151
- {
152
- //MiniJSON
153
- List<object> messageList = message as List<object>;
154
- if ((messageList != null) && messageList.Count > 0)
155
- {
156
- foreach (object dictObject in messageList)
157
- {
158
- AddToSubscribeMessageList(dictObject, ref subscribeMessages);
159
- }
160
- }
161
- }
162
- }
163
- else
164
- {
165
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateListOfSubscribeMessage: no messages ",
166
- DateTime.Now.ToString()), LoggingMethod.LevelInfo);
167
- }
168
-
169
- return subscribeMessages;
170
- }
171
-
172
- internal static string BuildJsonUserState(IDictionary<string, object> userStateDictionary)
173
- {
174
- StringBuilder jsonStateBuilder = new StringBuilder();
175
-
176
- if (userStateDictionary != null)
177
- {
178
- string[] userStateKeys = userStateDictionary.Keys.ToArray<string>();
179
-
180
- for (int keyIndex = 0; keyIndex < userStateKeys.Length; keyIndex++)
181
- {
182
- string useStateKey = userStateKeys[keyIndex];
183
- object userStateValue = userStateDictionary[useStateKey];
184
- if (userStateValue == null)
185
- {
186
- jsonStateBuilder.AppendFormat("\"{0}\":{1}", useStateKey, string.Format("\"{0}\"", "null"));
187
- }
188
- else
189
- {
190
- jsonStateBuilder.AppendFormat("\"{0}\":{1}", useStateKey, (userStateValue.GetType().ToString() == "System.String") ? string.Format("\"{0}\"", userStateValue) : userStateValue);
191
- }
192
- if (keyIndex < userStateKeys.Length - 1)
193
- {
194
- jsonStateBuilder.Append(",");
195
- }
196
- }
197
- }
198
-
199
- return jsonStateBuilder.ToString();
200
- }
201
-
202
- internal static string BuildJsonUserState(List<ChannelEntity> ce)
203
- {
204
- string retJsonUserState = "";
205
-
206
- StringBuilder jsonStateBuilder = new StringBuilder();
207
-
208
- if (ce != null)
209
- {
210
- foreach (ChannelEntity c in ce)
211
- {
212
- string currentJsonState = BuildJsonUserState(c.ChannelParams.UserState);
213
- if (!string.IsNullOrEmpty(currentJsonState))
214
- {
215
- currentJsonState = string.Format("\"{0}\":{{{1}}}", c.ChannelID.ChannelOrChannelGroupName, currentJsonState);
216
- if (jsonStateBuilder.Length > 0)
217
- {
218
- jsonStateBuilder.Append(",");
219
- }
220
- jsonStateBuilder.Append(currentJsonState);
221
- }
222
- }
223
-
224
- if (jsonStateBuilder.Length > 0)
225
- {
226
- retJsonUserState = string.Format("{{{0}}}", jsonStateBuilder.ToString());
227
- }
228
- }
229
-
230
- return retJsonUserState;
231
- }
232
-
233
- internal static string GetNamesFromChannelEntities(List<ChannelEntity> channelEntities, bool isChannelGroup)
234
- {
235
-
236
- StringBuilder sb = new StringBuilder();
237
- if (channelEntities != null)
238
- {
239
- int count = 0;
240
- foreach (ChannelEntity c in channelEntities)
241
- {
242
- if (isChannelGroup && c.ChannelID.IsChannelGroup)
243
- {
244
- if (count > 0)
245
- {
246
- sb.Append(",");
247
- }
248
-
249
- sb.Append(c.ChannelID.ChannelOrChannelGroupName);
250
- count++;
251
- }
252
- else if (!isChannelGroup && !c.ChannelID.IsChannelGroup)
253
- {
254
- if (count > 0)
255
- {
256
- sb.Append(",");
257
- }
258
-
259
- sb.Append(c.ChannelID.ChannelOrChannelGroupName);
260
- count++;
261
- }
262
- }
263
- }
264
- return sb.ToString();
265
- }
266
-
267
- internal static string GetNamesFromChannelEntities(List<ChannelEntity> channelEntities)
268
- {
269
- StringBuilder sbCh = new StringBuilder();
270
- StringBuilder sbChGrp = new StringBuilder();
271
- if (channelEntities != null)
272
- {
273
- int countCh = 0;
274
- int countChGrp = 0;
275
- foreach (ChannelEntity c in channelEntities)
276
- {
277
- if (c.ChannelID.IsChannelGroup)
278
- {
279
- if (countChGrp > 0)
280
- {
281
- sbChGrp.Append(",");
282
- }
283
-
284
- sbChGrp.Append(c.ChannelID.ChannelOrChannelGroupName);
285
- countChGrp++;
286
- }
287
- else
288
- {
289
- if (countCh > 0)
290
- {
291
- sbCh.Append(",");
292
- }
293
-
294
- sbCh.Append(c.ChannelID.ChannelOrChannelGroupName);
295
- countCh++;
296
- }
297
-
298
- }
299
- }
300
- return string.Format("channel(s) = {0} and channelGroups(s) = {1}", sbCh.ToString(), sbChGrp.ToString());
301
- }
302
-
303
- internal static bool UpdateOrAddUserStateOfEntity<T>(string channel, bool isChannelGroup,
304
- IDictionary<string, object> userState, bool edit,
305
- Action<T> userCallback, Action<PubnubClientError> errorCallback,
306
- PubnubErrorFilter.Level errorLevel, ref List<ChannelEntity> channelEntities, IDependencyProvider provider)
307
- {
308
- ChannelEntity ce = CreateChannelEntity<T>(channel, false, isChannelGroup,
309
- userState, userCallback, null, errorCallback, null, null);
310
- bool stateChanged = Subscription.GetSubscription(provider).UpdateOrAddUserStateOfEntity(ref ce, userState, edit);
311
- if (!stateChanged)
312
- {
313
- string message = "No change in User State";
314
-
315
- PubnubCallbacks.CallErrorCallback<T>(ce, message,
316
- PubnubErrorCode.UserStateUnchanged, PubnubErrorSeverity.Info, errorLevel);
317
- }
318
- else
319
- {
320
- channelEntities.Add(ce);
321
- }
322
- return stateChanged;
323
- }
324
-
325
- internal static bool CheckAndAddExistingUserState<T>(string channel, string channelGroup, IDictionary<string, object> userState,
326
- Action<T> userCallback, Action<PubnubClientError> errorCallback,
327
- PubnubErrorFilter.Level errorLevel, bool edit,
328
- out string returnUserState, out List<ChannelEntity> channelEntities, IDependencyProvider provider
329
- )
330
- {
331
- string[] channels = channel.Trim().Split(',');
332
- string[] channelGroups = channelGroup.Trim().Split(',');
333
- bool stateChanged = false;
334
- channelEntities = new List<ChannelEntity>();
335
-
336
- foreach (string ch in channels)
337
- {
338
- if (!string.IsNullOrEmpty(ch))
339
- {
340
- bool changeState = UpdateOrAddUserStateOfEntity<T>(ch, false, userState, edit,
341
- userCallback, errorCallback, errorLevel, ref channelEntities, provider);
342
- if (changeState && !stateChanged)
343
- {
344
- stateChanged = true;
345
- }
346
- }
347
- }
348
-
349
- foreach (string ch in channelGroups)
350
- {
351
- if (!string.IsNullOrEmpty(ch))
352
- {
353
- bool changeState = UpdateOrAddUserStateOfEntity<T>(ch, true, userState, edit,
354
- userCallback, errorCallback, errorLevel, ref channelEntities, provider);
355
- if (changeState && !stateChanged)
356
- {
357
- stateChanged = true;
358
- }
359
- }
360
- }
361
-
362
- returnUserState = BuildJsonUserState(channelEntities);
363
-
364
- return stateChanged;
365
- }
366
-
367
- internal static ChannelEntity CreateChannelEntity<T>(string channelOrChannelGroupName2,
368
- bool isAwaitingConnectCallback,
369
- bool isChannelGroup, IDictionary<string, object> userState,
370
- Action<T> userCallback, Action<T> connectCallback,
371
- Action<PubnubClientError> errorCallback, Action<T> disconnectCallback, Action<T> wildcardPresenceCallback
372
- )
373
- {
374
- string channelOrChannelGroupName = channelOrChannelGroupName2.Trim();
375
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntity: channelOrChannelGroupName {1}, {2}", DateTime.Now.ToString(),
376
- channelOrChannelGroupName.ToString(), channelOrChannelGroupName2.ToString()), LoggingMethod.LevelInfo);
377
-
378
- if (!string.IsNullOrEmpty(channelOrChannelGroupName))
379
- {
380
- ChannelIdentity ci = new ChannelIdentity();
381
- ci.ChannelOrChannelGroupName = channelOrChannelGroupName;
382
- ci.IsPresenceChannel = Utility.IsPresenceChannel(channelOrChannelGroupName);
383
- ci.IsChannelGroup = isChannelGroup;
384
-
385
- ChannelParameters cp = new ChannelParameters();
386
- cp.IsAwaitingConnectCallback = isAwaitingConnectCallback;
387
- cp.UserState = userState;
388
- cp.TypeParameterType = typeof(T);
389
-
390
- cp.Callbacks = PubnubCallbacks.GetPubnubChannelCallback<T>(userCallback, connectCallback, errorCallback,
391
- disconnectCallback, wildcardPresenceCallback);
392
-
393
- ChannelEntity ce = new ChannelEntity(ci, cp);
394
-
395
- return ce;
396
- }
397
- else
398
- {
399
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntity: channelOrChannelGroupName empty, is channel group {1}", DateTime.Now.ToString(), isChannelGroup.ToString()), LoggingMethod.LevelInfo);
400
-
401
- return null;
402
- }
403
- }
404
-
405
- internal static List<ChannelEntity> CreateChannelEntity<T>(string[] channelOrChannelGroupNames, bool isAwaitingConnectCallback,
406
- bool isChannelGroup, IDictionary<string, object> userState,
407
- Action<T> userCallback, Action<T> connectCallback,
408
- Action<PubnubClientError> errorCallback, Action<T> disconnectCallback, Action<T> wildcardPresenceCallback
409
- )
410
- {
411
- List<ChannelEntity> channelEntities = null;
412
- if (channelOrChannelGroupNames != null)
413
- {
414
- channelEntities = new List<ChannelEntity>();
415
- foreach (string ch in channelOrChannelGroupNames)
416
- {
417
- ChannelEntity chEntity = CreateChannelEntity<T>(ch, isAwaitingConnectCallback, isChannelGroup, userState,
418
- userCallback, connectCallback, errorCallback, disconnectCallback, wildcardPresenceCallback
419
- );
420
- if (chEntity != null)
421
- {
422
- channelEntities.Add(chEntity);
423
- }
424
- }
425
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntity 2: channelEntities={1}", DateTime.Now.ToString(), channelEntities.Count), LoggingMethod.LevelInfo);
426
-
427
- }
428
- else
429
- {
430
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntity 2: channelOrChannelGroupNames null, is channel group {1}", DateTime.Now.ToString(), isChannelGroup.ToString()), LoggingMethod.LevelInfo);
431
-
432
- }
433
-
434
- return channelEntities;
435
- }
436
-
437
- internal static IEnumerable<string> GetDuplicates(string[]
438
- rawChannels)
439
- {
440
- var results = from string a in rawChannels
441
- group a by a into g
442
- where g.Count() > 1
443
- select g;
444
- foreach (var group in results)
445
- foreach (var item in group)
446
- yield return item;
447
- }
448
-
449
- [System.Diagnostics.Conditional("SPEW_ALL")]
450
- [System.Diagnostics.Conditional("SPEW_NOTIFICATION")]
451
- internal static void LogChannelEntitiesDictionary(Subscription subscription)
452
- {
453
- StringBuilder sbLogs = new StringBuilder();
454
- foreach (var ci in subscription.ChannelEntitiesDictionary)
455
- {
456
- sbLogs.AppendFormat("\nChannelEntitiesDictionary \nChannelOrChannelGroupName:{0} \nIsChannelGroup:{1} \nIsPresenceChannel:{2}\n",
457
- ci.Key.ChannelOrChannelGroupName, ci.Key.IsChannelGroup.ToString(), ci.Key.IsPresenceChannel.ToString()
458
- );
459
- }
460
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, LogChannelEntitiesDictionary: Count: {2} \n{1}",
461
- DateTime.Now.ToString(), sbLogs.ToString(), subscription.ChannelEntitiesDictionary.Count), LoggingMethod.LevelInfo);
462
- }
463
-
464
- internal static bool CreateChannelEntityAndAddToSubscribe<T>(ResponseType type, string[] rawChannels,
465
- bool isChannelGroup,
466
- Action<T> userCallback, Action<T> connectCallback, Action<PubnubClientError> errorCallback,
467
- Action<T> wildcardPresenceCallback, Action<T> disconnectCallback,
468
- PubnubErrorFilter.Level errorLevel, bool unsubscribeCheck, ref List<ChannelEntity> channelEntities, IDependencyProvider provider
469
- )
470
- {
471
- bool bReturn = false;
472
- for (int index = 0; index < rawChannels.Length; index++)
473
- {
474
- string channelName = rawChannels[index].Trim();
475
-
476
- if (channelName.Length > 0)
477
- {
478
- if ((type == ResponseType.PresenceV2)
479
- || (type == ResponseType.PresenceUnsubscribe))
480
- {
481
- channelName = string.Format("{0}{1}", channelName, Utility.PresenceChannelSuffix);
482
- }
483
-
484
- Helpers.LogChannelEntitiesDictionary(Subscription.GetSubscription(provider));
485
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntityAndAddToSubscribe: channel={1}", DateTime.Now.ToString(), channelName), LoggingMethod.LevelInfo);
486
-
487
- //create channelEntity
488
- ChannelEntity ce = Helpers.CreateChannelEntity(channelName, true, isChannelGroup, null,
489
- userCallback, connectCallback, errorCallback, disconnectCallback, wildcardPresenceCallback);
490
-
491
- bool channelIsSubscribed = false;
492
- if (Subscription.GetSubscription(provider).ChannelEntitiesDictionary.ContainsKey(ce.ChannelID))
493
- {
494
- channelIsSubscribed = Subscription.GetSubscription(provider).ChannelEntitiesDictionary[ce.ChannelID].IsSubscribed;
495
- }
496
-
497
- if (unsubscribeCheck)
498
- {
499
- if (!channelIsSubscribed)
500
- {
501
- string message = string.Format("{0}Channel Not Subscribed", (ce.ChannelID.IsPresenceChannel) ? "Presence " : "");
502
- PubnubErrorCode errorType = (ce.ChannelID.IsPresenceChannel) ? PubnubErrorCode.NotPresenceSubscribed : PubnubErrorCode.NotSubscribed;
503
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntityAndAddToSubscribe: channel={1} response={2}", DateTime.Now.ToString(), channelName, message), LoggingMethod.LevelInfo);
504
- PubnubCallbacks.CallErrorCallback<T>(ce, message,
505
- errorType, PubnubErrorSeverity.Info, errorLevel);
506
- }
507
- else
508
- {
509
- channelEntities.Add(ce);
510
- bReturn = true;
511
- }
512
- }
513
- else
514
- {
515
- if (channelIsSubscribed)
516
- {
517
- string message = string.Format("{0}Already subscribed", (ce.ChannelID.IsPresenceChannel) ? "Presence " : "");
518
- PubnubErrorCode errorType = (ce.ChannelID.IsPresenceChannel) ? PubnubErrorCode.AlreadyPresenceSubscribed : PubnubErrorCode.AlreadySubscribed;
519
- PubnubCallbacks.CallErrorCallback<T>(ce, message,
520
- errorType, PubnubErrorSeverity.Info, errorLevel);
521
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntityAndAddToSubscribe: channel={1} response={2}", DateTime.Now.ToString(), channelName, message), LoggingMethod.LevelInfo);
522
-
523
- }
524
- else
525
- {
526
- channelEntities.Add(ce);
527
- bReturn = true;
528
- }
529
- }
530
- }
531
- else
532
- {
533
- string message = "Invalid Channel Name";
534
- if (isChannelGroup)
535
- {
536
- message = "Invalid Channel Group Name";
537
- }
538
-
539
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntityAndAddToSubscribe: channel={1} response={2}", DateTime.Now.ToString(), channelName, message),
540
- LoggingMethod.LevelInfo);
541
-
542
- }
543
- }
544
- return bReturn;
545
- }
546
-
547
- internal static bool RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon<T>(ResponseType type,
548
- Action<T> userCallback, Action<T> connectCallback, Action<PubnubClientError> errorCallback,
549
- Action<T> wildcardPresenceCallback, Action<T> disconnectCallback,
550
- string[] channelsOrChannelGroups, bool isChannelGroup,
551
- PubnubErrorFilter.Level errorLevel, bool unsubscribeCheck, ref List<ChannelEntity> channelEntities,
552
- IDependencyProvider provider)
553
- {
554
- bool bReturn = false;
555
- if (channelsOrChannelGroups.Length > 0)
556
- {
557
-
558
- channelsOrChannelGroups = channelsOrChannelGroups.Where(x => !string.IsNullOrEmpty(x)).ToArray();
559
-
560
- if (channelsOrChannelGroups.Length != channelsOrChannelGroups.Distinct().Count())
561
- {
562
- channelsOrChannelGroups = channelsOrChannelGroups.Distinct().ToArray();
563
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon: distinct channelsOrChannelGroups len={1}, channelsOrChannelGroups = {2}",
564
- DateTime.Now.ToString(), channelsOrChannelGroups.Length, string.Join(",", channelsOrChannelGroups)),
565
- LoggingMethod.LevelInfo);
566
-
567
- string channel = string.Join(",", GetDuplicates(channelsOrChannelGroups).Distinct<string>().ToArray<string>());
568
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon: duplicates channelsOrChannelGroups {1}",
569
- DateTime.Now.ToString(), channel),
570
- LoggingMethod.LevelInfo);
571
-
572
- string message = string.Format("Detected and removed duplicate channels {0}", channel);
573
-
574
- PubnubCallbacks.CallErrorCallback<T>(message, errorCallback, PubnubErrorCode.DuplicateChannel,
575
- PubnubErrorSeverity.Info, errorLevel);
576
- }
577
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon: channelsOrChannelGroups len={1}, channelsOrChannelGroups = {2}",
578
- DateTime.Now.ToString(), channelsOrChannelGroups.Length, string.Join(",", channelsOrChannelGroups)),
579
- LoggingMethod.LevelInfo);
580
-
581
- bReturn = CreateChannelEntityAndAddToSubscribe<T>(type, channelsOrChannelGroups, isChannelGroup,
582
- userCallback, connectCallback, errorCallback, wildcardPresenceCallback, disconnectCallback, errorLevel, unsubscribeCheck, ref channelEntities, provider);
583
- }
584
- else
585
- {
586
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon: channelsOrChannelGroups len <=0",
587
- DateTime.Now.ToString()),
588
- LoggingMethod.LevelInfo);
589
-
590
- }
591
- return bReturn;
592
- }
593
-
594
- internal static bool RemoveDuplicatesCheckAlreadySubscribedAndGetChannels<T>(ResponseType type,
595
- Action<T> userCallback, Action<T> connectCallback, Action<PubnubClientError> errorCallback,
596
- Action<T> wildcardPresenceCallback, Action<T> disconnectCallback,
597
- string[] rawChannels, string[] rawChannelGroups,
598
- PubnubErrorFilter.Level errorLevel, bool unsubscribeCheck, out List<ChannelEntity> channelEntities,
599
- IDependencyProvider provider)
600
- {
601
- bool bReturn = false;
602
- bool channelAdded = false;
603
- bool channelGroupAdded = false;
604
- channelEntities = new List<ChannelEntity>();
605
- if (rawChannels != null && rawChannels.Length > 0)
606
- {
607
- channelAdded = RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon<T>(type, userCallback, connectCallback, errorCallback,
608
- wildcardPresenceCallback, disconnectCallback, rawChannels, false, errorLevel, unsubscribeCheck, ref channelEntities, provider
609
- );
610
- }
611
-
612
- if (rawChannelGroups != null && rawChannelGroups.Length > 0)
613
- {
614
- channelGroupAdded = RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon<T>(type, userCallback, connectCallback, errorCallback,
615
- wildcardPresenceCallback, disconnectCallback, rawChannelGroups, true, errorLevel, unsubscribeCheck, ref channelEntities, provider
616
- );
617
- }
618
-
619
- bReturn = channelAdded | channelGroupAdded;
620
-
621
- return bReturn;
622
- }
623
-
624
- internal static void ProcessResponseCallbacksV2<T>(ref SubscribeEnvelope resultSubscribeEnvelope, RequestState<T> asynchRequestState,
625
- string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary, IDependencyProvider provider)
626
- {
627
-
628
- if (resultSubscribeEnvelope != null)
629
- {
630
- Helpers.ResponseToConnectCallback<T>(asynchRequestState, jsonPluggableLibrary, provider);
631
- if (resultSubscribeEnvelope.Messages != null)
632
- {
633
- ResponseToUserCallbackForSubscribeV2<T>(resultSubscribeEnvelope.Messages, asynchRequestState.ChannelEntities,
634
- cipherKey, jsonPluggableLibrary);
635
- }
636
- else
637
- {
638
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, ProcessResponseCallbacksV2: resultSubscribeEnvelope.Messages null",
639
- DateTime.Now.ToString()), LoggingMethod.LevelError);
640
- }
641
-
642
- }
643
- }
644
-
645
- internal static void ProcessResponseCallbacks<T>(ref List<object> result, RequestState<T> asynchRequestState,
646
- string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary)
647
- {
648
- if (result != null && result.Count >= 1)
649
- {
650
- Helpers.ResponseToUserCallback<T>(result, asynchRequestState, cipherKey, jsonPluggableLibrary);
651
- }
652
- }
653
- #endregion
654
-
655
- #region "Encoding and Crypto"
656
-
657
- internal static string JsonEncodePublishMsg(object originalMessage, string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary)
658
- {
659
- string message = jsonPluggableLibrary.SerializeToJsonString(originalMessage);
660
-
661
- if (cipherKey.Length > 0)
662
- {
663
- PubnubCrypto aes = new PubnubCrypto(cipherKey);
664
- string encryptMessage = aes.Encrypt(message);
665
- message = jsonPluggableLibrary.SerializeToJsonString(encryptMessage);
666
- }
667
-
668
- return message;
669
- }
670
-
671
- internal static object DecodeMessage(PubnubCrypto aes, object element, List<ChannelEntity> channelEntities,
672
- IJsonPluggableLibrary jsonPluggableLibrary,
673
- PubnubErrorFilter.Level errorLevel)
674
- {
675
- string decryptMessage = "";
676
- try
677
- {
678
- decryptMessage = aes.Decrypt(element.ToString());
679
- }
680
- catch (Exception ex)
681
- {
682
- decryptMessage = "**DECRYPT ERROR**";
683
- PubnubCallbacks.CallErrorCallback<object>(ex, channelEntities, PubnubErrorCode.None,
684
- PubnubErrorSeverity.Critical, errorLevel);
685
- }
686
- object decodeMessage = (decryptMessage == "**DECRYPT ERROR**") ? decryptMessage : jsonPluggableLibrary.DeserializeToObject(decryptMessage);
687
- return decodeMessage;
688
- }
689
-
690
- internal static List<object> DecryptCipheredMessage(List<object> message, List<ChannelEntity> channelEntities,
691
- string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary,
692
- PubnubErrorFilter.Level errorLevel)
693
- {
694
- List<object> returnMessage = new List<object>();
695
-
696
- PubnubCrypto aes = new PubnubCrypto(cipherKey);
697
- var myObjectArray = (from item in message
698
- select item as object).ToArray();
699
- IEnumerable enumerable = myObjectArray[0] as IEnumerable;
700
-
701
- if (enumerable != null)
702
- {
703
- List<object> receivedMsg = new List<object>();
704
- foreach (object element in enumerable)
705
- {
706
- receivedMsg.Add(DecodeMessage(aes, element, channelEntities, jsonPluggableLibrary, errorLevel));
707
- }
708
- returnMessage.Add(receivedMsg);
709
- }
710
- for (int index = 1; index < myObjectArray.Length; index++)
711
- {
712
- returnMessage.Add(myObjectArray[index]);
713
- }
714
- return returnMessage;
715
- }
716
-
717
- internal static List<object> DecryptNonCipheredMessage(List<object> message)
718
- {
719
- List<object> returnMessage = new List<object>();
720
- var myObjectArray = (from item in message
721
- select item as object).ToArray();
722
- IEnumerable enumerable = myObjectArray[0] as IEnumerable;
723
- if (enumerable != null)
724
- {
725
- List<object> receivedMessage = new List<object>();
726
- foreach (object element in enumerable)
727
- {
728
- receivedMessage.Add(element);
729
- }
730
- returnMessage.Add(receivedMessage);
731
- }
732
- for (int index = 1; index < myObjectArray.Length; index++)
733
- {
734
- returnMessage.Add(myObjectArray[index]);
735
- }
736
- return returnMessage;
737
- }
738
-
739
- internal static List<object> DecodeDecryptLoop(List<object> message, List<ChannelEntity> channelEntities,
740
- string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary,
741
- PubnubErrorFilter.Level errorLevel)
742
- {
743
- if (cipherKey.Length > 0)
744
- {
745
- return DecryptCipheredMessage(message, channelEntities, cipherKey, jsonPluggableLibrary, errorLevel);
746
- }
747
- else
748
- {
749
- return DecryptNonCipheredMessage(message);
750
- }
751
- }
752
-
753
- #endregion
754
-
755
- #region "Other Methods"
756
-
757
- internal static void CheckSubscribedChannelsAndSendCallbacks<T>(List<ChannelEntity> channelEntities,
758
- ResponseType type, int pubnubNetworkCheckRetries, PubnubErrorFilter.Level errorLevel)
759
- {
760
- if (channelEntities != null && channelEntities.Count > 0)
761
- {
762
- foreach (ChannelEntity channelEntity in channelEntities)
763
- {
764
- string message = string.Format("Unsubscribed after {0} failed retries", pubnubNetworkCheckRetries); ;
765
- PubnubErrorCode pnErrorCode = PubnubErrorCode.UnsubscribedAfterMaxRetries;
766
-
767
- if (channelEntity.ChannelID.IsPresenceChannel)
768
- {
769
- message = string.Format("Presence Unsubscribed after {0} failed retries", pubnubNetworkCheckRetries);
770
- pnErrorCode = PubnubErrorCode.PresenceUnsubscribedAfterMaxRetries;
771
- }
772
-
773
- //TODO: Recheck
774
- PubnubClientError error = Helpers.CreatePubnubClientError<T>(message, null, channelEntities, pnErrorCode,
775
- PubnubErrorSeverity.Critical);
776
-
777
- PubnubCallbacks.FireErrorCallback<T>(channelEntity,
778
- errorLevel, error);
779
-
780
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, CheckSubscribedChannelsAndSendCallbacks: {1} Subscribe JSON network error response={2}",
781
- DateTime.Now.ToString(), (channelEntity.ChannelID.IsPresenceChannel) ? "Presence" : "", message), LoggingMethod.LevelInfo);
782
-
783
- }
784
- }
785
- }
786
-
787
- public static void WrapResultBasedOnResponseType<T>(RequestState<T> pubnubRequestState, string jsonString,
788
- IJsonPluggableLibrary jsonPluggableLibrary, PubnubErrorFilter.Level errorLevel, string cipherKey, ref List<object> result)
789
- {
790
- try
791
- {
792
- string multiChannel = Helpers.GetNamesFromChannelEntities(pubnubRequestState.ChannelEntities, false);
793
- string multiChannelGroup = Helpers.GetNamesFromChannelEntities(pubnubRequestState.ChannelEntities, true);
794
- if (!string.IsNullOrEmpty(jsonString))
795
- {
796
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, WrapResultBasedOnResponseType: jsonString = {1}", DateTime.Now.ToString(), jsonString), LoggingMethod.LevelInfo);
797
- object deSerializedResult = jsonPluggableLibrary.DeserializeToObject(jsonString);
798
- List<object> result1 = ((IEnumerable)deSerializedResult).Cast<object>().ToList();
799
-
800
- if (result1 != null && result1.Count > 0)
801
- {
802
- result = result1;
803
- }
804
-
805
- switch (pubnubRequestState.RespType)
806
- {
807
- case ResponseType.DetailedHistory:
808
- result = DecodeDecryptLoop(result, pubnubRequestState.ChannelEntities, cipherKey, jsonPluggableLibrary, errorLevel);
809
- result.Add(multiChannel);
810
- break;
811
- case ResponseType.Time:
812
- Int64[] c = deSerializedResult as Int64[];
813
- if ((c != null) && (c.Length > 0))
814
- {
815
- result = new List<object>();
816
- result.Add(c[0]);
817
- }
818
- break;
819
- case ResponseType.Leave:
820
- if (!string.IsNullOrEmpty(multiChannelGroup))
821
- {
822
- result.Add(multiChannelGroup);
823
- }
824
- if (!string.IsNullOrEmpty(multiChannel))
825
- {
826
- result.Add(multiChannel);
827
- }
828
- break;
829
- case ResponseType.SubscribeV2:
830
- case ResponseType.PresenceV2:
831
- break;
832
- case ResponseType.Publish:
833
- case ResponseType.PushRegister:
834
- case ResponseType.PushRemove:
835
- case ResponseType.PushGet:
836
- case ResponseType.PushUnregister:
837
- result.Add(multiChannel);
838
- break;
839
- case ResponseType.GrantAccess:
840
- case ResponseType.AuditAccess:
841
- case ResponseType.RevokeAccess:
842
- case ResponseType.GetUserState:
843
- case ResponseType.SetUserState:
844
- case ResponseType.WhereNow:
845
- case ResponseType.HereNow:
846
- result = DeserializeAndAddToResult(jsonString, multiChannel, jsonPluggableLibrary, true);
847
- break;
848
- case ResponseType.GlobalHereNow:
849
- result = DeserializeAndAddToResult(jsonString, multiChannel, jsonPluggableLibrary, false);
850
- break;
851
- case ResponseType.ChannelGroupAdd:
852
- case ResponseType.ChannelGroupRemove:
853
- case ResponseType.ChannelGroupGet:
854
- result = DeserializeAndAddToResult(jsonString, multiChannel, jsonPluggableLibrary, false);
855
-
856
- break;
857
- case ResponseType.ChannelGroupGrantAccess:
858
- case ResponseType.ChannelGroupAuditAccess:
859
- case ResponseType.ChannelGroupRevokeAccess:
860
- result = DeserializeAndAddToResult(jsonString, "", jsonPluggableLibrary, false);
861
- result.Add(multiChannelGroup);
862
- break;
863
-
864
- default:
865
- break;
866
- }
867
- }
868
- else
869
- {
870
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, WrapResultBasedOnResponseType: json string null ", DateTime.Now.ToString()), LoggingMethod.LevelInfo);
871
- }
872
- }
873
- catch (Exception ex)
874
- {
875
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, WrapResultBasedOnResponseType: exception: {1} ", DateTime.Now.ToString(), ex.ToString()), LoggingMethod.LevelError);
876
- ProcessWrapResultBasedOnResponseTypeException<T>(pubnubRequestState, errorLevel, ex);
877
- }
878
- }
879
-
880
- internal static List<object> DeserializeAndAddToResult(string jsonString, string multiChannel,
881
- IJsonPluggableLibrary jsonPluggableLibrary, bool addChannel)
882
- {
883
- IDictionary<string, object> dictionary = jsonPluggableLibrary.DeserializeToDictionaryOfObject(jsonString);
884
- List<object> result = new List<object>();
885
- result.Add(dictionary);
886
- if (addChannel)
887
- {
888
- result.Add(multiChannel);
889
- }
890
- return result;
891
- }
892
-
893
- internal static void ProcessWrapResultBasedOnResponseTypeException<T>(RequestState<T> pubnubRequestState,
894
- PubnubErrorFilter.Level errorLevel, Exception ex)
895
- {
896
- if (pubnubRequestState.ChannelEntities != null)
897
- {
898
- if (pubnubRequestState.RespType.Equals(ResponseType.SubscribeV2) || pubnubRequestState.RespType.Equals(ResponseType.PresenceV2)
899
- )
900
- {
901
- PubnubCallbacks.FireErrorCallbacksForAllChannels<T>(ex, pubnubRequestState, PubnubErrorSeverity.Critical,
902
- PubnubErrorCode.None, errorLevel);
903
- }
904
- else
905
- {
906
- PubnubCallbacks.FireErrorCallbacksForAllChannels<T>(ex, pubnubRequestState, PubnubErrorSeverity.Critical,
907
- PubnubErrorCode.None, errorLevel);
908
- }
909
- }
910
- }
911
-
912
- internal static void CreatePNMessageResult(SubscribeMessage subscribeMessage, out PNMessageResult messageResult)
913
- {
914
- long timetoken = (subscribeMessage.PublishTimetokenMetadata != null) ? subscribeMessage.PublishTimetokenMetadata.Timetoken : 0;
915
- messageResult = new PNMessageResult(
916
- subscribeMessage.SubscriptionMatch,
917
- subscribeMessage.Channel,
918
- subscribeMessage.Payload,
919
- timetoken,
920
- subscribeMessage.UserMetadata);
921
- }
922
-
923
- internal static void AddMessageToListV2(string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary,
924
- SubscribeMessage subscribeMessage, ChannelEntity ce, out List<object> itemMessage)
925
- {
926
- itemMessage = new List<object>();
927
- if (ce.ChannelID.IsPresenceChannel)
928
- {
929
- itemMessage.Add(subscribeMessage.Payload);
930
- }
931
- else
932
- {
933
- //decrypt the subscriber message if cipherkey is available
934
- if (cipherKey.Length > 0)
935
- {
936
- object decodeMessage;
937
- try
938
- {
939
- PubnubCrypto aes = new PubnubCrypto(cipherKey);
940
- string decryptMessage = aes.Decrypt(subscribeMessage.Payload.ToString());
941
- decodeMessage = (decryptMessage == "**DECRYPT ERROR**") ? decryptMessage : jsonPluggableLibrary.DeserializeToObject(decryptMessage);
942
- }
943
- catch (Exception decryptEx)
944
- {
945
- decodeMessage = subscribeMessage.Payload;
946
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, AddMessageToListV2: decodeMessage Exception: {1}", DateTime.Now.ToString(), decryptEx.ToString()), LoggingMethod.LevelError);
947
-
948
- }
949
- itemMessage.Add(decodeMessage);
950
- }
951
- else
952
- {
953
- itemMessage.Add(subscribeMessage.Payload);
954
- }
955
- }
956
- itemMessage.Add((subscribeMessage.PublishTimetokenMetadata != null) ? subscribeMessage.PublishTimetokenMetadata.Timetoken.ToString() : "");
957
- if (ce.ChannelID.IsChannelGroup)
958
- {
959
- itemMessage.Add(ce.ChannelID.ChannelOrChannelGroupName.Replace(Utility.PresenceChannelSuffix, ""));
960
- }
961
-
962
- itemMessage.Add(subscribeMessage.Channel.Replace(Utility.PresenceChannelSuffix, ""));
963
- }
964
-
965
- internal static void FindChannelEntityAndCallback<T>(SubscribeMessage subscribeMessage, List<ChannelEntity> channelEntities,
966
- string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary, ChannelIdentity ci)
967
- {
968
- ChannelEntity ce = channelEntities.Find(x => x.ChannelID.Equals(ci));
969
- if (ce != null)
970
- {
971
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, FindChannelEntityAndCallback: \n ChannelEntity : {1} cg?={2} ispres?={3}", DateTime.Now.ToString(),
972
- ce.ChannelID.ChannelOrChannelGroupName, ce.ChannelID.IsChannelGroup.ToString(),
973
- ce.ChannelID.IsPresenceChannel.ToString()
974
- ), LoggingMethod.LevelInfo);
975
-
976
- List<object> itemMessage;
977
- AddMessageToListV2(cipherKey, jsonPluggableLibrary, subscribeMessage, ce, out itemMessage);
978
- PubnubChannelCallback<T> channelCallbacks = ce.ChannelParams.Callbacks as PubnubChannelCallback<T>;
979
-
980
- if ((subscribeMessage.SubscriptionMatch.Contains(".*")) && Utility.IsPresenceChannel(subscribeMessage.Channel))
981
- {
982
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, FindChannelEntityAndCallback: Wildcard match ChannelEntity : {1} ", DateTime.Now.ToString(),
983
- ce.ChannelID.ChannelOrChannelGroupName
984
- ), LoggingMethod.LevelInfo);
985
-
986
- PubnubCallbacks.GoToCallback<T>(itemMessage, channelCallbacks.WildcardPresenceCallback, jsonPluggableLibrary);
987
- }
988
- else
989
- {
990
- PubnubCallbacks.GoToCallback<T>(itemMessage, channelCallbacks.SuccessCallback, jsonPluggableLibrary);
991
- }
992
- }
993
- #if (ENABLE_PUBNUB_LOGGING)
994
- else {
995
- StringBuilder sbChannelEntity = new StringBuilder();
996
- foreach( ChannelEntity channelEntity in channelEntities){
997
- sbChannelEntity.AppendFormat("ChannelEntity : {0} cg?={1} ispres?={2}", channelEntity.ChannelID.ChannelOrChannelGroupName,
998
- channelEntity.ChannelID.IsChannelGroup.ToString(),
999
- channelEntity.ChannelID.IsPresenceChannel.ToString()
1000
- );
1001
- }
1002
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, FindChannelEntityAndCallback: ChannelEntity : null ci.name {1} \nChannelEntities: \n {2}", DateTime.Now.ToString(),
1003
- ci.ChannelOrChannelGroupName, sbChannelEntity.ToString()), LoggingMethod.LevelInfo);
1004
- }
1005
- #endif
1006
-
1007
- }
1008
-
1009
- internal static void ResponseToUserCallbackForSubscribeV2<T>(List<SubscribeMessage> subscribeMessages, List<ChannelEntity> channelEntities,
1010
- string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary)
1011
- {
1012
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, In ResponseToUserCallbackForSubscribeV2", DateTime.Now.ToString()
1013
- ), LoggingMethod.LevelInfo);
1014
-
1015
- foreach (SubscribeMessage subscribeMessage in subscribeMessages)
1016
- {
1017
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, ResponseToUserCallbackForSubscribeV2:\n SubscribeMessage:\n" +
1018
- "shard : {1},\n" +
1019
- "subscriptionMatch: {2},\n" +
1020
- "channel: {3},\n" +
1021
- "payload: {4},\n" +
1022
- "flags: {5},\n" +
1023
- "issuingClientId: {6},\n" +
1024
- "subscribeKey: {7},\n" +
1025
- "sequenceNumber: {8},\n" +
1026
- "originatingTimetoken tt: {9},\n" +
1027
- "originatingTimetoken region: {10},\n" +
1028
- "publishMetadata tt: {11},\n" +
1029
- "publishMetadata region: {12},\n" +
1030
- "userMetadata {13} \n",
1031
- DateTime.Now.ToString(),
1032
- subscribeMessage.Shard,
1033
- subscribeMessage.SubscriptionMatch,
1034
- subscribeMessage.Channel,
1035
- subscribeMessage.Payload.ToString(),
1036
- subscribeMessage.Flags,
1037
- subscribeMessage.IssuingClientId,
1038
- subscribeMessage.SubscribeKey,
1039
- subscribeMessage.SequenceNumber,
1040
- (subscribeMessage.OriginatingTimetoken != null) ? subscribeMessage.OriginatingTimetoken.Timetoken.ToString() : "",
1041
- (subscribeMessage.OriginatingTimetoken != null) ? subscribeMessage.OriginatingTimetoken.Region : "",
1042
- (subscribeMessage.PublishTimetokenMetadata != null) ? subscribeMessage.PublishTimetokenMetadata.Timetoken.ToString() : "",
1043
- (subscribeMessage.PublishTimetokenMetadata != null) ? subscribeMessage.PublishTimetokenMetadata.Region : "",
1044
- (subscribeMessage.UserMetadata != null) ? subscribeMessage.UserMetadata.ToString() : "null"),
1045
- LoggingMethod.LevelInfo);
1046
-
1047
- bool isPresenceChannel = Utility.IsPresenceChannel(subscribeMessage.Channel);
1048
- if (string.IsNullOrEmpty(subscribeMessage.SubscriptionMatch) || subscribeMessage.Channel.Equals(subscribeMessage.SubscriptionMatch))
1049
- {
1050
- //channel
1051
-
1052
- ChannelIdentity ci = new ChannelIdentity(subscribeMessage.Channel, false, isPresenceChannel);
1053
- FindChannelEntityAndCallback<T>(subscribeMessage, channelEntities, cipherKey, jsonPluggableLibrary, ci);
1054
- }
1055
- else if (subscribeMessage.SubscriptionMatch.Contains(".*") && isPresenceChannel)
1056
- {
1057
- //wildcard presence channel
1058
-
1059
- ChannelIdentity ci = new ChannelIdentity(subscribeMessage.SubscriptionMatch, false, false);
1060
- FindChannelEntityAndCallback<T>(subscribeMessage, channelEntities, cipherKey, jsonPluggableLibrary, ci);
1061
- }
1062
- else if (subscribeMessage.SubscriptionMatch.Contains(".*"))
1063
- {
1064
- //wildcard channel
1065
- ChannelIdentity ci = new ChannelIdentity(subscribeMessage.SubscriptionMatch, false, isPresenceChannel);
1066
- FindChannelEntityAndCallback<T>(subscribeMessage, channelEntities, cipherKey, jsonPluggableLibrary, ci);
1067
-
1068
- }
1069
- else
1070
- {
1071
- ChannelIdentity ci = new ChannelIdentity(subscribeMessage.SubscriptionMatch, true, isPresenceChannel);
1072
- FindChannelEntityAndCallback<T>(subscribeMessage, channelEntities, cipherKey, jsonPluggableLibrary, ci);
1073
-
1074
- //ce will be the cg and subscriptionMatch will have the cg name
1075
- }
1076
-
1077
- }
1078
- }
1079
-
1080
- internal static void ResponseToUserCallback<T>(List<object> result, RequestState<T> asynchRequestState, string cipherKey,
1081
- IJsonPluggableLibrary jsonPluggableLibrary)
1082
- {
1083
- switch (asynchRequestState.RespType)
1084
- {
1085
- case ResponseType.Leave:
1086
- //No response to callback
1087
- break;
1088
- case ResponseType.Publish:
1089
- case ResponseType.DetailedHistory:
1090
- case ResponseType.HereNow:
1091
- case ResponseType.GlobalHereNow:
1092
- case ResponseType.WhereNow:
1093
- case ResponseType.GrantAccess:
1094
- case ResponseType.AuditAccess:
1095
- case ResponseType.RevokeAccess:
1096
- case ResponseType.GetUserState:
1097
- case ResponseType.SetUserState:
1098
- case ResponseType.Time:
1099
- case ResponseType.PushRegister:
1100
- case ResponseType.PushRemove:
1101
- case ResponseType.PushGet:
1102
- case ResponseType.PushUnregister:
1103
- case ResponseType.ChannelGroupAdd:
1104
- case ResponseType.ChannelGroupRemove:
1105
- case ResponseType.ChannelGroupGet:
1106
- case ResponseType.ChannelGroupGrantAccess:
1107
- case ResponseType.ChannelGroupAuditAccess:
1108
- case ResponseType.ChannelGroupRevokeAccess:
1109
-
1110
- PubnubCallbacks.SendCallbacks<T>(jsonPluggableLibrary, asynchRequestState, result, CallbackType.Success, false);
1111
- break;
1112
- default:
1113
- break;
1114
- }
1115
- }
1116
-
1117
- internal static void ResponseToConnectCallback<T>(RequestState<T> asynchRequestState,
1118
- IJsonPluggableLibrary jsonPluggableLibrary, IDependencyProvider provider)
1119
- {
1120
- //Check callback exists and make sure previous timetoken = 0
1121
- if (asynchRequestState.ChannelEntities != null)
1122
- {
1123
- bool updateIsAwaitingConnectCallback = false;
1124
- for (int i = 0; i < asynchRequestState.ChannelEntities.Count; i++)
1125
- {
1126
- ChannelEntity channelEntity = asynchRequestState.ChannelEntities[i];
1127
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, Check ResponseToConnectCallback {1}",
1128
- DateTime.Now.ToString(), channelEntity.ChannelID.ChannelOrChannelGroupName), LoggingMethod.LevelInfo);
1129
-
1130
- if (channelEntity.ChannelParams.IsAwaitingConnectCallback)
1131
- {
1132
- updateIsAwaitingConnectCallback = true;
1133
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, ResponseToConnectCallback IsAwaitingConnectCallback {1}",
1134
- DateTime.Now.ToString(), channelEntity.ChannelID.ChannelOrChannelGroupName), LoggingMethod.LevelInfo);
1135
-
1136
- switch (asynchRequestState.RespType)
1137
- {
1138
- case ResponseType.SubscribeV2:
1139
- var connectResult = Helpers.CreateJsonResponse("Connected", channelEntity.ChannelID.ChannelOrChannelGroupName, jsonPluggableLibrary);
1140
- PubnubCallbacks.SendCallbacks<T>(jsonPluggableLibrary, channelEntity, connectResult,
1141
- CallbackType.Connect, false);
1142
-
1143
- break;
1144
- case ResponseType.PresenceV2:
1145
- var connectResult2 = Helpers.CreateJsonResponse("Presence Connected",
1146
- channelEntity.ChannelID.ChannelOrChannelGroupName.Replace(Utility.PresenceChannelSuffix, ""), jsonPluggableLibrary);
1147
- PubnubCallbacks.SendCallbacks<T>(jsonPluggableLibrary, channelEntity, connectResult2,
1148
- CallbackType.Connect, false);
1149
- break;
1150
- default:
1151
- break;
1152
- }
1153
- }
1154
- }
1155
- if (updateIsAwaitingConnectCallback)
1156
- {
1157
- Subscription.GetSubscription(provider).UpdateIsAwaitingConnectCallbacksOfEntity(asynchRequestState.ChannelEntities, false);
1158
- }
1159
- }
1160
-
1161
- }
1162
-
1163
- internal static List<object> CreateJsonResponse(string message, string channel, IJsonPluggableLibrary jsonPluggableLibrary)
1164
- {
1165
- string jsonString = "";
1166
- List<object> connectResult = new List<object>();
1167
- jsonString = string.Format("[1, \"{0}\"]", message);
1168
- connectResult = jsonPluggableLibrary.DeserializeToListOfObject(jsonString);
1169
- connectResult.Add(channel);
1170
-
1171
- return connectResult;
1172
- }
1173
-
1174
- internal static PubnubErrorCode GetTimeOutErrorCode(ResponseType responseType)
1175
- {
1176
- switch (responseType)
1177
- {
1178
- case ResponseType.AuditAccess:
1179
- case ResponseType.GrantAccess:
1180
- case ResponseType.RevokeAccess:
1181
- case ResponseType.ChannelGroupGrantAccess:
1182
- case ResponseType.ChannelGroupAuditAccess:
1183
- case ResponseType.ChannelGroupRevokeAccess:
1184
- return PubnubErrorCode.PAMAccessOperationTimeout;
1185
- case ResponseType.DetailedHistory:
1186
- case ResponseType.History:
1187
- return PubnubErrorCode.DetailedHistoryOperationTimeout;
1188
- case ResponseType.GetUserState:
1189
- return PubnubErrorCode.GetUserStateTimeout;
1190
- case ResponseType.GlobalHereNow:
1191
- return PubnubErrorCode.GlobalHereNowOperationTimeout;
1192
- case ResponseType.SetUserState:
1193
- return PubnubErrorCode.SetUserStateTimeout;
1194
- case ResponseType.HereNow:
1195
- return PubnubErrorCode.HereNowOperationTimeout;
1196
- case ResponseType.Publish:
1197
- return PubnubErrorCode.PublishOperationTimeout;
1198
- case ResponseType.Time:
1199
- return PubnubErrorCode.TimeOperationTimeout;
1200
- case ResponseType.WhereNow:
1201
- return PubnubErrorCode.WhereNowOperationTimeout;
1202
- default:
1203
- /*
1204
- * ResponseType.Presence:
1205
- * ResponseType.PresenceUnsubscribe:
1206
- * ResponseType.Leave:
1207
- * ResponseType.Subscribe:
1208
- * ResponseType.Unsubscribe:
1209
- * ResponseType.Heartbeat:
1210
- * ResponseType.PresenceHeartbeat:
1211
- * ResponseType.ChannelGroupAdd
1212
- * ResponseType.ChannelGroupRemove
1213
- * ResponseType.ChannelGroupGet
1214
- */
1215
- return PubnubErrorCode.OperationTimeout;
1216
- }
1217
- }
1218
-
1219
- internal static PubnubClientError CreatePubnubClientError<T>(Exception ex,
1220
- RequestState<T> requestState, List<ChannelEntity> channelEntities, PubnubErrorCode errorCode, PubnubErrorSeverity severity)
1221
- {
1222
-
1223
- if (errorCode.Equals(PubnubErrorCode.None))
1224
- {
1225
- errorCode = PubnubErrorCodeHelper.GetErrorType(ex);
1226
- }
1227
-
1228
- int statusCode = (int)errorCode;
1229
- string errorDescription = PubnubErrorCodeDescription.GetStatusCodeDescription(errorCode);
1230
- PubnubWebRequest request = null;
1231
- PubnubWebResponse response = null;
1232
-
1233
- if (requestState != null)
1234
- {
1235
- request = requestState.Request;
1236
- response = requestState.Response;
1237
- if (channelEntities == null && requestState.ChannelEntities != null)
1238
- {
1239
- channelEntities = requestState.ChannelEntities;
1240
- }
1241
- }
1242
-
1243
- PubnubClientError error = new PubnubClientError(statusCode, severity, true, ex.Message, ex,
1244
- PubnubMessageSource.Client, request, response, errorDescription,
1245
- channelEntities);
1246
-
1247
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, PubnubClientError = {1}", DateTime.Now.ToString(), error.ToString()), LoggingMethod.LevelInfo);
1248
- return error;
1249
- }
1250
-
1251
- internal static PubnubClientError CreatePubnubClientError<T>(string message,
1252
- RequestState<T> requestState, PubnubErrorCode errorCode, PubnubErrorSeverity severity, string channels, string channelGroups)
1253
- {
1254
-
1255
- int statusCode = (int)errorCode;
1256
- string errorDescription = PubnubErrorCodeDescription.GetStatusCodeDescription(errorCode);
1257
-
1258
- PubnubWebRequest request = null;
1259
- PubnubWebResponse response = null;
1260
-
1261
- if (requestState != null)
1262
- {
1263
- request = requestState.Request;
1264
- response = requestState.Response;
1265
- }
1266
-
1267
- PubnubClientError error = new PubnubClientError(statusCode, severity, message, PubnubMessageSource.Client,
1268
- request, response, errorDescription,
1269
- channels, channelGroups
1270
- );
1271
-
1272
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, PubnubClientError 2 = {1}", DateTime.Now.ToString(), error.ToString()), LoggingMethod.LevelInfo);
1273
- return error;
1274
- }
1275
-
1276
- internal static PubnubClientError CreatePubnubClientError<T>(Exception ex,
1277
- RequestState<T> requestState, PubnubErrorCode errorCode, PubnubErrorSeverity severity, string channels, string channelGroups)
1278
- {
1279
-
1280
- int statusCode = (int)errorCode;
1281
- string errorDescription = PubnubErrorCodeDescription.GetStatusCodeDescription(errorCode);
1282
-
1283
- PubnubWebRequest request = null;
1284
- PubnubWebResponse response = null;
1285
-
1286
- if (requestState != null)
1287
- {
1288
- request = requestState.Request;
1289
- response = requestState.Response;
1290
- }
1291
-
1292
- PubnubClientError error = new PubnubClientError(statusCode, severity, ex.Message, PubnubMessageSource.Client,
1293
- request, response, errorDescription,
1294
- channels, channelGroups
1295
- );
1296
-
1297
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, PubnubClientError 3 = {1}", DateTime.Now.ToString(), error.ToString()), LoggingMethod.LevelInfo);
1298
- return error;
1299
- }
1300
-
1301
- internal static PubnubClientError CreatePubnubClientError<T>(string message,
1302
- RequestState<T> requestState, List<ChannelEntity> channelEntities, PubnubErrorCode errorCode, PubnubErrorSeverity severity)
1303
- {
1304
-
1305
- int statusCode = (int)errorCode;
1306
- string errorDescription = PubnubErrorCodeDescription.GetStatusCodeDescription(errorCode);
1307
-
1308
- PubnubWebRequest request = null;
1309
- PubnubWebResponse response = null;
1310
-
1311
- if (requestState != null)
1312
- {
1313
- request = requestState.Request;
1314
- response = requestState.Response;
1315
- }
1316
-
1317
- PubnubClientError error = new PubnubClientError(statusCode, severity, message, PubnubMessageSource.Client,
1318
- request, response, errorDescription,
1319
- channelEntities
1320
- );
1321
-
1322
- LoggingMethod.WriteToLog(string.Format("DateTime {0}, PubnubClientError 4 = {1}", DateTime.Now.ToString(), error.ToString()), LoggingMethod.LevelInfo);
1323
- return error;
1324
- }
1325
-
1326
- internal static PubnubClientError CreatePubnubClientError<T>(WebException ex,
1327
- RequestState<T> requestState, string channel, PubnubErrorSeverity severity)
1328
- {
1329
-
1330
- PubnubErrorCode errorCode = PubnubErrorCodeHelper.GetErrorType(ex.Status, ex.Message);
1331
- return CreatePubnubClientError<T>(ex, requestState, null, errorCode, severity);
1332
- }
1333
-
1334
- #endregion
1335
-
1336
- }
1337
- }
1
+ using Beamable.Common.Dependencies;
2
+ using System;
3
+ using System.Collections;
4
+ using System.Collections.Generic;
5
+ using System.Linq;
6
+ using System.Net;
7
+ using System.Text;
8
+
9
+ namespace PubNubMessaging.Core
10
+ {
11
+ public sealed class Counter
12
+ {
13
+ private uint current = 0;
14
+ private object syncRoot;
15
+
16
+ public Counter()
17
+ {
18
+ syncRoot = new Object();
19
+ current = 0;
20
+ }
21
+
22
+ public uint NextValue()
23
+ {
24
+ lock (syncRoot)
25
+ {
26
+ this.current++;
27
+ }
28
+ return this.current;
29
+ }
30
+
31
+ public void Reset()
32
+ {
33
+ lock (syncRoot)
34
+ {
35
+ this.current = 0;
36
+ }
37
+ }
38
+ }
39
+
40
+ internal static class Helpers
41
+ {
42
+ #region "Helpers"
43
+ internal static TimetokenMetadata CreateTimetokenMetadata(object timeTokenDataObject, string whichTT)
44
+ {
45
+ IDictionary<string, object> timeTokenData = (IDictionary<string, object>)timeTokenDataObject;
46
+ TimetokenMetadata timetokenMetadata = new TimetokenMetadata(Utility.CheckKeyAndParseLong(timeTokenData, whichTT, "t"),
47
+ timeTokenData["r"].ToString());
48
+
49
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, TimetokenMetadata: {1} \nTimetoken: {2} \nRegion: {3}",
50
+ DateTime.Now.ToString(), whichTT, timetokenMetadata.Timetoken, timetokenMetadata.Region),
51
+ LoggingMethod.LevelInfo);
52
+
53
+ return timetokenMetadata;
54
+ }
55
+
56
+ internal static void AddToSubscribeMessageList(object dictObject, ref List<SubscribeMessage> subscribeMessages)
57
+ {
58
+ var dict = dictObject as IDictionary<string, object>;
59
+ if ((dict != null) && (dict.Count > 1))
60
+ {
61
+ string shard = (dict.ContainsKey("a")) ? dict["a"].ToString() : "";
62
+ string subscriptionMatch = (dict.ContainsKey("b")) ? dict["b"].ToString() : "";
63
+ string channel = (dict.ContainsKey("c")) ? dict["c"].ToString() : "";
64
+ object payload = (dict.ContainsKey("d")) ? (object)dict["d"] : null;
65
+ string flags = (dict.ContainsKey("f")) ? dict["f"].ToString() : "";
66
+ string issuingClientId = (dict.ContainsKey("i")) ? dict["i"].ToString() : "";
67
+ string subscribeKey = (dict.ContainsKey("k")) ? dict["k"].ToString() : "";
68
+ long sequenceNumber = Utility.CheckKeyAndParseLong(dict, "sequenceNumber", "s");
69
+
70
+ TimetokenMetadata originatingTimetoken = (dict.ContainsKey("o")) ? CreateTimetokenMetadata(dict["o"], "Originating TT: ") : null;
71
+ TimetokenMetadata publishMetadata = (dict.ContainsKey("p")) ? CreateTimetokenMetadata(dict["p"], "Publish TT: ") : null;
72
+ object userMetadata = (dict.ContainsKey("u")) ? (object)dict["u"] : null;
73
+
74
+ SubscribeMessage subscribeMessage = new SubscribeMessage(
75
+ shard,
76
+ subscriptionMatch,
77
+ channel,
78
+ payload,
79
+ flags,
80
+ issuingClientId,
81
+ subscribeKey,
82
+ sequenceNumber,
83
+ originatingTimetoken,
84
+ publishMetadata,
85
+ userMetadata
86
+ );
87
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, AddToSubscribeMessageList: \n" +
88
+ "shard : {1},\n" +
89
+ "subscriptionMatch: {2},\n" +
90
+ "channel: {3},\n" +
91
+ "payload: {4},\n" +
92
+ "flags: {5},\n" +
93
+ "issuingClientId: {6},\n" +
94
+ "subscribeKey: {7},\n" +
95
+ "sequenceNumber: {8},\n" +
96
+ "originatingTimetoken tt: {9},\n" +
97
+ "originatingTimetoken region: {10},\n" +
98
+ "publishMetadata tt: {11},\n" +
99
+ "publishMetadata region: {12},\n" +
100
+ "userMetadata {13} \n",
101
+ DateTime.Now.ToString(),
102
+ shard,
103
+ subscriptionMatch,
104
+ channel,
105
+ payload.ToString(),
106
+ flags,
107
+ issuingClientId,
108
+ subscribeKey,
109
+ sequenceNumber,
110
+ (originatingTimetoken != null) ? originatingTimetoken.Timetoken.ToString() : "",
111
+ (originatingTimetoken != null) ? originatingTimetoken.Region : "",
112
+ (publishMetadata != null) ? publishMetadata.Timetoken.ToString() : "",
113
+ (publishMetadata != null) ? publishMetadata.Region : "",
114
+ (userMetadata != null) ? userMetadata.ToString() : "null"),
115
+ LoggingMethod.LevelInfo);
116
+
117
+
118
+ subscribeMessages.Add(subscribeMessage);
119
+ }
120
+ else
121
+ {
122
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, AddToSubscribeMessageList: CreateListOfSubscribeMessage create " +
123
+ "SubscribeMessage failed. dictObject type: {1}, dict type : {2}",
124
+ DateTime.Now.ToString(), dictObject.ToString(), dict.ToString()), LoggingMethod.LevelInfo);
125
+ }
126
+
127
+ }
128
+
129
+ internal static List<SubscribeMessage> CreateListOfSubscribeMessage(object message)
130
+ {
131
+ List<SubscribeMessage> subscribeMessages = new List<SubscribeMessage>();
132
+ if (message != null)
133
+ {
134
+ //JSONFx
135
+ object[] messages = message as object[];
136
+
137
+ if (messages != null)
138
+ {
139
+ var myObjectArray = (from item in messages
140
+ select item as object).ToArray();
141
+ if ((myObjectArray != null) && (myObjectArray.Length > 0))
142
+ {
143
+
144
+ foreach (object dictObject in myObjectArray)
145
+ {
146
+ AddToSubscribeMessageList(dictObject, ref subscribeMessages);
147
+ }
148
+ }
149
+ }
150
+ else
151
+ {
152
+ //MiniJSON
153
+ List<object> messageList = message as List<object>;
154
+ if ((messageList != null) && messageList.Count > 0)
155
+ {
156
+ foreach (object dictObject in messageList)
157
+ {
158
+ AddToSubscribeMessageList(dictObject, ref subscribeMessages);
159
+ }
160
+ }
161
+ }
162
+ }
163
+ else
164
+ {
165
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateListOfSubscribeMessage: no messages ",
166
+ DateTime.Now.ToString()), LoggingMethod.LevelInfo);
167
+ }
168
+
169
+ return subscribeMessages;
170
+ }
171
+
172
+ internal static string BuildJsonUserState(IDictionary<string, object> userStateDictionary)
173
+ {
174
+ StringBuilder jsonStateBuilder = new StringBuilder();
175
+
176
+ if (userStateDictionary != null)
177
+ {
178
+ string[] userStateKeys = userStateDictionary.Keys.ToArray<string>();
179
+
180
+ for (int keyIndex = 0; keyIndex < userStateKeys.Length; keyIndex++)
181
+ {
182
+ string useStateKey = userStateKeys[keyIndex];
183
+ object userStateValue = userStateDictionary[useStateKey];
184
+ if (userStateValue == null)
185
+ {
186
+ jsonStateBuilder.AppendFormat("\"{0}\":{1}", useStateKey, string.Format("\"{0}\"", "null"));
187
+ }
188
+ else
189
+ {
190
+ jsonStateBuilder.AppendFormat("\"{0}\":{1}", useStateKey, (userStateValue.GetType().ToString() == "System.String") ? string.Format("\"{0}\"", userStateValue) : userStateValue);
191
+ }
192
+ if (keyIndex < userStateKeys.Length - 1)
193
+ {
194
+ jsonStateBuilder.Append(",");
195
+ }
196
+ }
197
+ }
198
+
199
+ return jsonStateBuilder.ToString();
200
+ }
201
+
202
+ internal static string BuildJsonUserState(List<ChannelEntity> ce)
203
+ {
204
+ string retJsonUserState = "";
205
+
206
+ StringBuilder jsonStateBuilder = new StringBuilder();
207
+
208
+ if (ce != null)
209
+ {
210
+ foreach (ChannelEntity c in ce)
211
+ {
212
+ string currentJsonState = BuildJsonUserState(c.ChannelParams.UserState);
213
+ if (!string.IsNullOrEmpty(currentJsonState))
214
+ {
215
+ currentJsonState = string.Format("\"{0}\":{{{1}}}", c.ChannelID.ChannelOrChannelGroupName, currentJsonState);
216
+ if (jsonStateBuilder.Length > 0)
217
+ {
218
+ jsonStateBuilder.Append(",");
219
+ }
220
+ jsonStateBuilder.Append(currentJsonState);
221
+ }
222
+ }
223
+
224
+ if (jsonStateBuilder.Length > 0)
225
+ {
226
+ retJsonUserState = string.Format("{{{0}}}", jsonStateBuilder.ToString());
227
+ }
228
+ }
229
+
230
+ return retJsonUserState;
231
+ }
232
+
233
+ internal static string GetNamesFromChannelEntities(List<ChannelEntity> channelEntities, bool isChannelGroup)
234
+ {
235
+
236
+ StringBuilder sb = new StringBuilder();
237
+ if (channelEntities != null)
238
+ {
239
+ int count = 0;
240
+ foreach (ChannelEntity c in channelEntities)
241
+ {
242
+ if (isChannelGroup && c.ChannelID.IsChannelGroup)
243
+ {
244
+ if (count > 0)
245
+ {
246
+ sb.Append(",");
247
+ }
248
+
249
+ sb.Append(c.ChannelID.ChannelOrChannelGroupName);
250
+ count++;
251
+ }
252
+ else if (!isChannelGroup && !c.ChannelID.IsChannelGroup)
253
+ {
254
+ if (count > 0)
255
+ {
256
+ sb.Append(",");
257
+ }
258
+
259
+ sb.Append(c.ChannelID.ChannelOrChannelGroupName);
260
+ count++;
261
+ }
262
+ }
263
+ }
264
+ return sb.ToString();
265
+ }
266
+
267
+ internal static string GetNamesFromChannelEntities(List<ChannelEntity> channelEntities)
268
+ {
269
+ StringBuilder sbCh = new StringBuilder();
270
+ StringBuilder sbChGrp = new StringBuilder();
271
+ if (channelEntities != null)
272
+ {
273
+ int countCh = 0;
274
+ int countChGrp = 0;
275
+ foreach (ChannelEntity c in channelEntities)
276
+ {
277
+ if (c.ChannelID.IsChannelGroup)
278
+ {
279
+ if (countChGrp > 0)
280
+ {
281
+ sbChGrp.Append(",");
282
+ }
283
+
284
+ sbChGrp.Append(c.ChannelID.ChannelOrChannelGroupName);
285
+ countChGrp++;
286
+ }
287
+ else
288
+ {
289
+ if (countCh > 0)
290
+ {
291
+ sbCh.Append(",");
292
+ }
293
+
294
+ sbCh.Append(c.ChannelID.ChannelOrChannelGroupName);
295
+ countCh++;
296
+ }
297
+
298
+ }
299
+ }
300
+ return string.Format("channel(s) = {0} and channelGroups(s) = {1}", sbCh.ToString(), sbChGrp.ToString());
301
+ }
302
+
303
+ internal static bool UpdateOrAddUserStateOfEntity<T>(string channel, bool isChannelGroup,
304
+ IDictionary<string, object> userState, bool edit,
305
+ Action<T> userCallback, Action<PubnubClientError> errorCallback,
306
+ PubnubErrorFilter.Level errorLevel, ref List<ChannelEntity> channelEntities, IDependencyProvider provider)
307
+ {
308
+ ChannelEntity ce = CreateChannelEntity<T>(channel, false, isChannelGroup,
309
+ userState, userCallback, null, errorCallback, null, null);
310
+ bool stateChanged = Subscription.GetSubscription(provider).UpdateOrAddUserStateOfEntity(ref ce, userState, edit);
311
+ if (!stateChanged)
312
+ {
313
+ string message = "No change in User State";
314
+
315
+ PubnubCallbacks.CallErrorCallback<T>(ce, message,
316
+ PubnubErrorCode.UserStateUnchanged, PubnubErrorSeverity.Info, errorLevel);
317
+ }
318
+ else
319
+ {
320
+ channelEntities.Add(ce);
321
+ }
322
+ return stateChanged;
323
+ }
324
+
325
+ internal static bool CheckAndAddExistingUserState<T>(string channel, string channelGroup, IDictionary<string, object> userState,
326
+ Action<T> userCallback, Action<PubnubClientError> errorCallback,
327
+ PubnubErrorFilter.Level errorLevel, bool edit,
328
+ out string returnUserState, out List<ChannelEntity> channelEntities, IDependencyProvider provider
329
+ )
330
+ {
331
+ string[] channels = channel.Trim().Split(',');
332
+ string[] channelGroups = channelGroup.Trim().Split(',');
333
+ bool stateChanged = false;
334
+ channelEntities = new List<ChannelEntity>();
335
+
336
+ foreach (string ch in channels)
337
+ {
338
+ if (!string.IsNullOrEmpty(ch))
339
+ {
340
+ bool changeState = UpdateOrAddUserStateOfEntity<T>(ch, false, userState, edit,
341
+ userCallback, errorCallback, errorLevel, ref channelEntities, provider);
342
+ if (changeState && !stateChanged)
343
+ {
344
+ stateChanged = true;
345
+ }
346
+ }
347
+ }
348
+
349
+ foreach (string ch in channelGroups)
350
+ {
351
+ if (!string.IsNullOrEmpty(ch))
352
+ {
353
+ bool changeState = UpdateOrAddUserStateOfEntity<T>(ch, true, userState, edit,
354
+ userCallback, errorCallback, errorLevel, ref channelEntities, provider);
355
+ if (changeState && !stateChanged)
356
+ {
357
+ stateChanged = true;
358
+ }
359
+ }
360
+ }
361
+
362
+ returnUserState = BuildJsonUserState(channelEntities);
363
+
364
+ return stateChanged;
365
+ }
366
+
367
+ internal static ChannelEntity CreateChannelEntity<T>(string channelOrChannelGroupName2,
368
+ bool isAwaitingConnectCallback,
369
+ bool isChannelGroup, IDictionary<string, object> userState,
370
+ Action<T> userCallback, Action<T> connectCallback,
371
+ Action<PubnubClientError> errorCallback, Action<T> disconnectCallback, Action<T> wildcardPresenceCallback
372
+ )
373
+ {
374
+ string channelOrChannelGroupName = channelOrChannelGroupName2.Trim();
375
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntity: channelOrChannelGroupName {1}, {2}", DateTime.Now.ToString(),
376
+ channelOrChannelGroupName.ToString(), channelOrChannelGroupName2.ToString()), LoggingMethod.LevelInfo);
377
+
378
+ if (!string.IsNullOrEmpty(channelOrChannelGroupName))
379
+ {
380
+ ChannelIdentity ci = new ChannelIdentity();
381
+ ci.ChannelOrChannelGroupName = channelOrChannelGroupName;
382
+ ci.IsPresenceChannel = Utility.IsPresenceChannel(channelOrChannelGroupName);
383
+ ci.IsChannelGroup = isChannelGroup;
384
+
385
+ ChannelParameters cp = new ChannelParameters();
386
+ cp.IsAwaitingConnectCallback = isAwaitingConnectCallback;
387
+ cp.UserState = userState;
388
+ cp.TypeParameterType = typeof(T);
389
+
390
+ cp.Callbacks = PubnubCallbacks.GetPubnubChannelCallback<T>(userCallback, connectCallback, errorCallback,
391
+ disconnectCallback, wildcardPresenceCallback);
392
+
393
+ ChannelEntity ce = new ChannelEntity(ci, cp);
394
+
395
+ return ce;
396
+ }
397
+ else
398
+ {
399
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntity: channelOrChannelGroupName empty, is channel group {1}", DateTime.Now.ToString(), isChannelGroup.ToString()), LoggingMethod.LevelInfo);
400
+
401
+ return null;
402
+ }
403
+ }
404
+
405
+ internal static List<ChannelEntity> CreateChannelEntity<T>(string[] channelOrChannelGroupNames, bool isAwaitingConnectCallback,
406
+ bool isChannelGroup, IDictionary<string, object> userState,
407
+ Action<T> userCallback, Action<T> connectCallback,
408
+ Action<PubnubClientError> errorCallback, Action<T> disconnectCallback, Action<T> wildcardPresenceCallback
409
+ )
410
+ {
411
+ List<ChannelEntity> channelEntities = null;
412
+ if (channelOrChannelGroupNames != null)
413
+ {
414
+ channelEntities = new List<ChannelEntity>();
415
+ foreach (string ch in channelOrChannelGroupNames)
416
+ {
417
+ ChannelEntity chEntity = CreateChannelEntity<T>(ch, isAwaitingConnectCallback, isChannelGroup, userState,
418
+ userCallback, connectCallback, errorCallback, disconnectCallback, wildcardPresenceCallback
419
+ );
420
+ if (chEntity != null)
421
+ {
422
+ channelEntities.Add(chEntity);
423
+ }
424
+ }
425
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntity 2: channelEntities={1}", DateTime.Now.ToString(), channelEntities.Count), LoggingMethod.LevelInfo);
426
+
427
+ }
428
+ else
429
+ {
430
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntity 2: channelOrChannelGroupNames null, is channel group {1}", DateTime.Now.ToString(), isChannelGroup.ToString()), LoggingMethod.LevelInfo);
431
+
432
+ }
433
+
434
+ return channelEntities;
435
+ }
436
+
437
+ internal static IEnumerable<string> GetDuplicates(string[]
438
+ rawChannels)
439
+ {
440
+ var results = from string a in rawChannels
441
+ group a by a into g
442
+ where g.Count() > 1
443
+ select g;
444
+ foreach (var group in results)
445
+ foreach (var item in group)
446
+ yield return item;
447
+ }
448
+
449
+ [System.Diagnostics.Conditional("SPEW_ALL")]
450
+ [System.Diagnostics.Conditional("SPEW_NOTIFICATION")]
451
+ internal static void LogChannelEntitiesDictionary(Subscription subscription)
452
+ {
453
+ StringBuilder sbLogs = new StringBuilder();
454
+ foreach (var ci in subscription.ChannelEntitiesDictionary)
455
+ {
456
+ sbLogs.AppendFormat("\nChannelEntitiesDictionary \nChannelOrChannelGroupName:{0} \nIsChannelGroup:{1} \nIsPresenceChannel:{2}\n",
457
+ ci.Key.ChannelOrChannelGroupName, ci.Key.IsChannelGroup.ToString(), ci.Key.IsPresenceChannel.ToString()
458
+ );
459
+ }
460
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, LogChannelEntitiesDictionary: Count: {2} \n{1}",
461
+ DateTime.Now.ToString(), sbLogs.ToString(), subscription.ChannelEntitiesDictionary.Count), LoggingMethod.LevelInfo);
462
+ }
463
+
464
+ internal static bool CreateChannelEntityAndAddToSubscribe<T>(ResponseType type, string[] rawChannels,
465
+ bool isChannelGroup,
466
+ Action<T> userCallback, Action<T> connectCallback, Action<PubnubClientError> errorCallback,
467
+ Action<T> wildcardPresenceCallback, Action<T> disconnectCallback,
468
+ PubnubErrorFilter.Level errorLevel, bool unsubscribeCheck, ref List<ChannelEntity> channelEntities, IDependencyProvider provider
469
+ )
470
+ {
471
+ bool bReturn = false;
472
+ for (int index = 0; index < rawChannels.Length; index++)
473
+ {
474
+ string channelName = rawChannels[index].Trim();
475
+
476
+ if (channelName.Length > 0)
477
+ {
478
+ if ((type == ResponseType.PresenceV2)
479
+ || (type == ResponseType.PresenceUnsubscribe))
480
+ {
481
+ channelName = string.Format("{0}{1}", channelName, Utility.PresenceChannelSuffix);
482
+ }
483
+
484
+ Helpers.LogChannelEntitiesDictionary(Subscription.GetSubscription(provider));
485
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntityAndAddToSubscribe: channel={1}", DateTime.Now.ToString(), channelName), LoggingMethod.LevelInfo);
486
+
487
+ //create channelEntity
488
+ ChannelEntity ce = Helpers.CreateChannelEntity(channelName, true, isChannelGroup, null,
489
+ userCallback, connectCallback, errorCallback, disconnectCallback, wildcardPresenceCallback);
490
+
491
+ bool channelIsSubscribed = false;
492
+ if (Subscription.GetSubscription(provider).ChannelEntitiesDictionary.ContainsKey(ce.ChannelID))
493
+ {
494
+ channelIsSubscribed = Subscription.GetSubscription(provider).ChannelEntitiesDictionary[ce.ChannelID].IsSubscribed;
495
+ }
496
+
497
+ if (unsubscribeCheck)
498
+ {
499
+ if (!channelIsSubscribed)
500
+ {
501
+ string message = string.Format("{0}Channel Not Subscribed", (ce.ChannelID.IsPresenceChannel) ? "Presence " : "");
502
+ PubnubErrorCode errorType = (ce.ChannelID.IsPresenceChannel) ? PubnubErrorCode.NotPresenceSubscribed : PubnubErrorCode.NotSubscribed;
503
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntityAndAddToSubscribe: channel={1} response={2}", DateTime.Now.ToString(), channelName, message), LoggingMethod.LevelInfo);
504
+ PubnubCallbacks.CallErrorCallback<T>(ce, message,
505
+ errorType, PubnubErrorSeverity.Info, errorLevel);
506
+ }
507
+ else
508
+ {
509
+ channelEntities.Add(ce);
510
+ bReturn = true;
511
+ }
512
+ }
513
+ else
514
+ {
515
+ if (channelIsSubscribed)
516
+ {
517
+ string message = string.Format("{0}Already subscribed", (ce.ChannelID.IsPresenceChannel) ? "Presence " : "");
518
+ PubnubErrorCode errorType = (ce.ChannelID.IsPresenceChannel) ? PubnubErrorCode.AlreadyPresenceSubscribed : PubnubErrorCode.AlreadySubscribed;
519
+ PubnubCallbacks.CallErrorCallback<T>(ce, message,
520
+ errorType, PubnubErrorSeverity.Info, errorLevel);
521
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntityAndAddToSubscribe: channel={1} response={2}", DateTime.Now.ToString(), channelName, message), LoggingMethod.LevelInfo);
522
+
523
+ }
524
+ else
525
+ {
526
+ channelEntities.Add(ce);
527
+ bReturn = true;
528
+ }
529
+ }
530
+ }
531
+ else
532
+ {
533
+ string message = "Invalid Channel Name";
534
+ if (isChannelGroup)
535
+ {
536
+ message = "Invalid Channel Group Name";
537
+ }
538
+
539
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, CreateChannelEntityAndAddToSubscribe: channel={1} response={2}", DateTime.Now.ToString(), channelName, message),
540
+ LoggingMethod.LevelInfo);
541
+
542
+ }
543
+ }
544
+ return bReturn;
545
+ }
546
+
547
+ internal static bool RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon<T>(ResponseType type,
548
+ Action<T> userCallback, Action<T> connectCallback, Action<PubnubClientError> errorCallback,
549
+ Action<T> wildcardPresenceCallback, Action<T> disconnectCallback,
550
+ string[] channelsOrChannelGroups, bool isChannelGroup,
551
+ PubnubErrorFilter.Level errorLevel, bool unsubscribeCheck, ref List<ChannelEntity> channelEntities,
552
+ IDependencyProvider provider)
553
+ {
554
+ bool bReturn = false;
555
+ if (channelsOrChannelGroups.Length > 0)
556
+ {
557
+
558
+ channelsOrChannelGroups = channelsOrChannelGroups.Where(x => !string.IsNullOrEmpty(x)).ToArray();
559
+
560
+ if (channelsOrChannelGroups.Length != channelsOrChannelGroups.Distinct().Count())
561
+ {
562
+ channelsOrChannelGroups = channelsOrChannelGroups.Distinct().ToArray();
563
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon: distinct channelsOrChannelGroups len={1}, channelsOrChannelGroups = {2}",
564
+ DateTime.Now.ToString(), channelsOrChannelGroups.Length, string.Join(",", channelsOrChannelGroups)),
565
+ LoggingMethod.LevelInfo);
566
+
567
+ string channel = string.Join(",", GetDuplicates(channelsOrChannelGroups).Distinct<string>().ToArray<string>());
568
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon: duplicates channelsOrChannelGroups {1}",
569
+ DateTime.Now.ToString(), channel),
570
+ LoggingMethod.LevelInfo);
571
+
572
+ string message = string.Format("Detected and removed duplicate channels {0}", channel);
573
+
574
+ PubnubCallbacks.CallErrorCallback<T>(message, errorCallback, PubnubErrorCode.DuplicateChannel,
575
+ PubnubErrorSeverity.Info, errorLevel);
576
+ }
577
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon: channelsOrChannelGroups len={1}, channelsOrChannelGroups = {2}",
578
+ DateTime.Now.ToString(), channelsOrChannelGroups.Length, string.Join(",", channelsOrChannelGroups)),
579
+ LoggingMethod.LevelInfo);
580
+
581
+ bReturn = CreateChannelEntityAndAddToSubscribe<T>(type, channelsOrChannelGroups, isChannelGroup,
582
+ userCallback, connectCallback, errorCallback, wildcardPresenceCallback, disconnectCallback, errorLevel, unsubscribeCheck, ref channelEntities, provider);
583
+ }
584
+ else
585
+ {
586
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon: channelsOrChannelGroups len <=0",
587
+ DateTime.Now.ToString()),
588
+ LoggingMethod.LevelInfo);
589
+
590
+ }
591
+ return bReturn;
592
+ }
593
+
594
+ internal static bool RemoveDuplicatesCheckAlreadySubscribedAndGetChannels<T>(ResponseType type,
595
+ Action<T> userCallback, Action<T> connectCallback, Action<PubnubClientError> errorCallback,
596
+ Action<T> wildcardPresenceCallback, Action<T> disconnectCallback,
597
+ string[] rawChannels, string[] rawChannelGroups,
598
+ PubnubErrorFilter.Level errorLevel, bool unsubscribeCheck, out List<ChannelEntity> channelEntities,
599
+ IDependencyProvider provider)
600
+ {
601
+ bool bReturn = false;
602
+ bool channelAdded = false;
603
+ bool channelGroupAdded = false;
604
+ channelEntities = new List<ChannelEntity>();
605
+ if (rawChannels != null && rawChannels.Length > 0)
606
+ {
607
+ channelAdded = RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon<T>(type, userCallback, connectCallback, errorCallback,
608
+ wildcardPresenceCallback, disconnectCallback, rawChannels, false, errorLevel, unsubscribeCheck, ref channelEntities, provider
609
+ );
610
+ }
611
+
612
+ if (rawChannelGroups != null && rawChannelGroups.Length > 0)
613
+ {
614
+ channelGroupAdded = RemoveDuplicatesCheckAlreadySubscribedAndGetChannelsCommon<T>(type, userCallback, connectCallback, errorCallback,
615
+ wildcardPresenceCallback, disconnectCallback, rawChannelGroups, true, errorLevel, unsubscribeCheck, ref channelEntities, provider
616
+ );
617
+ }
618
+
619
+ bReturn = channelAdded | channelGroupAdded;
620
+
621
+ return bReturn;
622
+ }
623
+
624
+ internal static void ProcessResponseCallbacksV2<T>(ref SubscribeEnvelope resultSubscribeEnvelope, RequestState<T> asynchRequestState,
625
+ string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary, IDependencyProvider provider)
626
+ {
627
+
628
+ if (resultSubscribeEnvelope != null)
629
+ {
630
+ Helpers.ResponseToConnectCallback<T>(asynchRequestState, jsonPluggableLibrary, provider);
631
+ if (resultSubscribeEnvelope.Messages != null)
632
+ {
633
+ ResponseToUserCallbackForSubscribeV2<T>(resultSubscribeEnvelope.Messages, asynchRequestState.ChannelEntities,
634
+ cipherKey, jsonPluggableLibrary);
635
+ }
636
+ else
637
+ {
638
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, ProcessResponseCallbacksV2: resultSubscribeEnvelope.Messages null",
639
+ DateTime.Now.ToString()), LoggingMethod.LevelError);
640
+ }
641
+
642
+ }
643
+ }
644
+
645
+ internal static void ProcessResponseCallbacks<T>(ref List<object> result, RequestState<T> asynchRequestState,
646
+ string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary)
647
+ {
648
+ if (result != null && result.Count >= 1)
649
+ {
650
+ Helpers.ResponseToUserCallback<T>(result, asynchRequestState, cipherKey, jsonPluggableLibrary);
651
+ }
652
+ }
653
+ #endregion
654
+
655
+ #region "Encoding and Crypto"
656
+
657
+ internal static string JsonEncodePublishMsg(object originalMessage, string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary)
658
+ {
659
+ string message = jsonPluggableLibrary.SerializeToJsonString(originalMessage);
660
+
661
+ if (cipherKey.Length > 0)
662
+ {
663
+ PubnubCrypto aes = new PubnubCrypto(cipherKey);
664
+ string encryptMessage = aes.Encrypt(message);
665
+ message = jsonPluggableLibrary.SerializeToJsonString(encryptMessage);
666
+ }
667
+
668
+ return message;
669
+ }
670
+
671
+ internal static object DecodeMessage(PubnubCrypto aes, object element, List<ChannelEntity> channelEntities,
672
+ IJsonPluggableLibrary jsonPluggableLibrary,
673
+ PubnubErrorFilter.Level errorLevel)
674
+ {
675
+ string decryptMessage = "";
676
+ try
677
+ {
678
+ decryptMessage = aes.Decrypt(element.ToString());
679
+ }
680
+ catch (Exception ex)
681
+ {
682
+ decryptMessage = "**DECRYPT ERROR**";
683
+ PubnubCallbacks.CallErrorCallback<object>(ex, channelEntities, PubnubErrorCode.None,
684
+ PubnubErrorSeverity.Critical, errorLevel);
685
+ }
686
+ object decodeMessage = (decryptMessage == "**DECRYPT ERROR**") ? decryptMessage : jsonPluggableLibrary.DeserializeToObject(decryptMessage);
687
+ return decodeMessage;
688
+ }
689
+
690
+ internal static List<object> DecryptCipheredMessage(List<object> message, List<ChannelEntity> channelEntities,
691
+ string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary,
692
+ PubnubErrorFilter.Level errorLevel)
693
+ {
694
+ List<object> returnMessage = new List<object>();
695
+
696
+ PubnubCrypto aes = new PubnubCrypto(cipherKey);
697
+ var myObjectArray = (from item in message
698
+ select item as object).ToArray();
699
+ IEnumerable enumerable = myObjectArray[0] as IEnumerable;
700
+
701
+ if (enumerable != null)
702
+ {
703
+ List<object> receivedMsg = new List<object>();
704
+ foreach (object element in enumerable)
705
+ {
706
+ receivedMsg.Add(DecodeMessage(aes, element, channelEntities, jsonPluggableLibrary, errorLevel));
707
+ }
708
+ returnMessage.Add(receivedMsg);
709
+ }
710
+ for (int index = 1; index < myObjectArray.Length; index++)
711
+ {
712
+ returnMessage.Add(myObjectArray[index]);
713
+ }
714
+ return returnMessage;
715
+ }
716
+
717
+ internal static List<object> DecryptNonCipheredMessage(List<object> message)
718
+ {
719
+ List<object> returnMessage = new List<object>();
720
+ var myObjectArray = (from item in message
721
+ select item as object).ToArray();
722
+ IEnumerable enumerable = myObjectArray[0] as IEnumerable;
723
+ if (enumerable != null)
724
+ {
725
+ List<object> receivedMessage = new List<object>();
726
+ foreach (object element in enumerable)
727
+ {
728
+ receivedMessage.Add(element);
729
+ }
730
+ returnMessage.Add(receivedMessage);
731
+ }
732
+ for (int index = 1; index < myObjectArray.Length; index++)
733
+ {
734
+ returnMessage.Add(myObjectArray[index]);
735
+ }
736
+ return returnMessage;
737
+ }
738
+
739
+ internal static List<object> DecodeDecryptLoop(List<object> message, List<ChannelEntity> channelEntities,
740
+ string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary,
741
+ PubnubErrorFilter.Level errorLevel)
742
+ {
743
+ if (cipherKey.Length > 0)
744
+ {
745
+ return DecryptCipheredMessage(message, channelEntities, cipherKey, jsonPluggableLibrary, errorLevel);
746
+ }
747
+ else
748
+ {
749
+ return DecryptNonCipheredMessage(message);
750
+ }
751
+ }
752
+
753
+ #endregion
754
+
755
+ #region "Other Methods"
756
+
757
+ internal static void CheckSubscribedChannelsAndSendCallbacks<T>(List<ChannelEntity> channelEntities,
758
+ ResponseType type, int pubnubNetworkCheckRetries, PubnubErrorFilter.Level errorLevel)
759
+ {
760
+ if (channelEntities != null && channelEntities.Count > 0)
761
+ {
762
+ foreach (ChannelEntity channelEntity in channelEntities)
763
+ {
764
+ string message = string.Format("Unsubscribed after {0} failed retries", pubnubNetworkCheckRetries); ;
765
+ PubnubErrorCode pnErrorCode = PubnubErrorCode.UnsubscribedAfterMaxRetries;
766
+
767
+ if (channelEntity.ChannelID.IsPresenceChannel)
768
+ {
769
+ message = string.Format("Presence Unsubscribed after {0} failed retries", pubnubNetworkCheckRetries);
770
+ pnErrorCode = PubnubErrorCode.PresenceUnsubscribedAfterMaxRetries;
771
+ }
772
+
773
+ //TODO: Recheck
774
+ PubnubClientError error = Helpers.CreatePubnubClientError<T>(message, null, channelEntities, pnErrorCode,
775
+ PubnubErrorSeverity.Critical);
776
+
777
+ PubnubCallbacks.FireErrorCallback<T>(channelEntity,
778
+ errorLevel, error);
779
+
780
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, CheckSubscribedChannelsAndSendCallbacks: {1} Subscribe JSON network error response={2}",
781
+ DateTime.Now.ToString(), (channelEntity.ChannelID.IsPresenceChannel) ? "Presence" : "", message), LoggingMethod.LevelInfo);
782
+
783
+ }
784
+ }
785
+ }
786
+
787
+ public static void WrapResultBasedOnResponseType<T>(RequestState<T> pubnubRequestState, string jsonString,
788
+ IJsonPluggableLibrary jsonPluggableLibrary, PubnubErrorFilter.Level errorLevel, string cipherKey, ref List<object> result)
789
+ {
790
+ try
791
+ {
792
+ string multiChannel = Helpers.GetNamesFromChannelEntities(pubnubRequestState.ChannelEntities, false);
793
+ string multiChannelGroup = Helpers.GetNamesFromChannelEntities(pubnubRequestState.ChannelEntities, true);
794
+ if (!string.IsNullOrEmpty(jsonString))
795
+ {
796
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, WrapResultBasedOnResponseType: jsonString = {1}", DateTime.Now.ToString(), jsonString), LoggingMethod.LevelInfo);
797
+ object deSerializedResult = jsonPluggableLibrary.DeserializeToObject(jsonString);
798
+ List<object> result1 = ((IEnumerable)deSerializedResult).Cast<object>().ToList();
799
+
800
+ if (result1 != null && result1.Count > 0)
801
+ {
802
+ result = result1;
803
+ }
804
+
805
+ switch (pubnubRequestState.RespType)
806
+ {
807
+ case ResponseType.DetailedHistory:
808
+ result = DecodeDecryptLoop(result, pubnubRequestState.ChannelEntities, cipherKey, jsonPluggableLibrary, errorLevel);
809
+ result.Add(multiChannel);
810
+ break;
811
+ case ResponseType.Time:
812
+ Int64[] c = deSerializedResult as Int64[];
813
+ if ((c != null) && (c.Length > 0))
814
+ {
815
+ result = new List<object>();
816
+ result.Add(c[0]);
817
+ }
818
+ break;
819
+ case ResponseType.Leave:
820
+ if (!string.IsNullOrEmpty(multiChannelGroup))
821
+ {
822
+ result.Add(multiChannelGroup);
823
+ }
824
+ if (!string.IsNullOrEmpty(multiChannel))
825
+ {
826
+ result.Add(multiChannel);
827
+ }
828
+ break;
829
+ case ResponseType.SubscribeV2:
830
+ case ResponseType.PresenceV2:
831
+ break;
832
+ case ResponseType.Publish:
833
+ case ResponseType.PushRegister:
834
+ case ResponseType.PushRemove:
835
+ case ResponseType.PushGet:
836
+ case ResponseType.PushUnregister:
837
+ result.Add(multiChannel);
838
+ break;
839
+ case ResponseType.GrantAccess:
840
+ case ResponseType.AuditAccess:
841
+ case ResponseType.RevokeAccess:
842
+ case ResponseType.GetUserState:
843
+ case ResponseType.SetUserState:
844
+ case ResponseType.WhereNow:
845
+ case ResponseType.HereNow:
846
+ result = DeserializeAndAddToResult(jsonString, multiChannel, jsonPluggableLibrary, true);
847
+ break;
848
+ case ResponseType.GlobalHereNow:
849
+ result = DeserializeAndAddToResult(jsonString, multiChannel, jsonPluggableLibrary, false);
850
+ break;
851
+ case ResponseType.ChannelGroupAdd:
852
+ case ResponseType.ChannelGroupRemove:
853
+ case ResponseType.ChannelGroupGet:
854
+ result = DeserializeAndAddToResult(jsonString, multiChannel, jsonPluggableLibrary, false);
855
+
856
+ break;
857
+ case ResponseType.ChannelGroupGrantAccess:
858
+ case ResponseType.ChannelGroupAuditAccess:
859
+ case ResponseType.ChannelGroupRevokeAccess:
860
+ result = DeserializeAndAddToResult(jsonString, "", jsonPluggableLibrary, false);
861
+ result.Add(multiChannelGroup);
862
+ break;
863
+
864
+ default:
865
+ break;
866
+ }
867
+ }
868
+ else
869
+ {
870
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, WrapResultBasedOnResponseType: json string null ", DateTime.Now.ToString()), LoggingMethod.LevelInfo);
871
+ }
872
+ }
873
+ catch (Exception ex)
874
+ {
875
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, WrapResultBasedOnResponseType: exception: {1} ", DateTime.Now.ToString(), ex.ToString()), LoggingMethod.LevelError);
876
+ ProcessWrapResultBasedOnResponseTypeException<T>(pubnubRequestState, errorLevel, ex);
877
+ }
878
+ }
879
+
880
+ internal static List<object> DeserializeAndAddToResult(string jsonString, string multiChannel,
881
+ IJsonPluggableLibrary jsonPluggableLibrary, bool addChannel)
882
+ {
883
+ IDictionary<string, object> dictionary = jsonPluggableLibrary.DeserializeToDictionaryOfObject(jsonString);
884
+ List<object> result = new List<object>();
885
+ result.Add(dictionary);
886
+ if (addChannel)
887
+ {
888
+ result.Add(multiChannel);
889
+ }
890
+ return result;
891
+ }
892
+
893
+ internal static void ProcessWrapResultBasedOnResponseTypeException<T>(RequestState<T> pubnubRequestState,
894
+ PubnubErrorFilter.Level errorLevel, Exception ex)
895
+ {
896
+ if (pubnubRequestState.ChannelEntities != null)
897
+ {
898
+ if (pubnubRequestState.RespType.Equals(ResponseType.SubscribeV2) || pubnubRequestState.RespType.Equals(ResponseType.PresenceV2)
899
+ )
900
+ {
901
+ PubnubCallbacks.FireErrorCallbacksForAllChannels<T>(ex, pubnubRequestState, PubnubErrorSeverity.Critical,
902
+ PubnubErrorCode.None, errorLevel);
903
+ }
904
+ else
905
+ {
906
+ PubnubCallbacks.FireErrorCallbacksForAllChannels<T>(ex, pubnubRequestState, PubnubErrorSeverity.Critical,
907
+ PubnubErrorCode.None, errorLevel);
908
+ }
909
+ }
910
+ }
911
+
912
+ internal static void CreatePNMessageResult(SubscribeMessage subscribeMessage, out PNMessageResult messageResult)
913
+ {
914
+ long timetoken = (subscribeMessage.PublishTimetokenMetadata != null) ? subscribeMessage.PublishTimetokenMetadata.Timetoken : 0;
915
+ messageResult = new PNMessageResult(
916
+ subscribeMessage.SubscriptionMatch,
917
+ subscribeMessage.Channel,
918
+ subscribeMessage.Payload,
919
+ timetoken,
920
+ subscribeMessage.UserMetadata);
921
+ }
922
+
923
+ internal static void AddMessageToListV2(string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary,
924
+ SubscribeMessage subscribeMessage, ChannelEntity ce, out List<object> itemMessage)
925
+ {
926
+ itemMessage = new List<object>();
927
+ if (ce.ChannelID.IsPresenceChannel)
928
+ {
929
+ itemMessage.Add(subscribeMessage.Payload);
930
+ }
931
+ else
932
+ {
933
+ //decrypt the subscriber message if cipherkey is available
934
+ if (cipherKey.Length > 0)
935
+ {
936
+ object decodeMessage;
937
+ try
938
+ {
939
+ PubnubCrypto aes = new PubnubCrypto(cipherKey);
940
+ string decryptMessage = aes.Decrypt(subscribeMessage.Payload.ToString());
941
+ decodeMessage = (decryptMessage == "**DECRYPT ERROR**") ? decryptMessage : jsonPluggableLibrary.DeserializeToObject(decryptMessage);
942
+ }
943
+ catch (Exception decryptEx)
944
+ {
945
+ decodeMessage = subscribeMessage.Payload;
946
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, AddMessageToListV2: decodeMessage Exception: {1}", DateTime.Now.ToString(), decryptEx.ToString()), LoggingMethod.LevelError);
947
+
948
+ }
949
+ itemMessage.Add(decodeMessage);
950
+ }
951
+ else
952
+ {
953
+ itemMessage.Add(subscribeMessage.Payload);
954
+ }
955
+ }
956
+ itemMessage.Add((subscribeMessage.PublishTimetokenMetadata != null) ? subscribeMessage.PublishTimetokenMetadata.Timetoken.ToString() : "");
957
+ if (ce.ChannelID.IsChannelGroup)
958
+ {
959
+ itemMessage.Add(ce.ChannelID.ChannelOrChannelGroupName.Replace(Utility.PresenceChannelSuffix, ""));
960
+ }
961
+
962
+ itemMessage.Add(subscribeMessage.Channel.Replace(Utility.PresenceChannelSuffix, ""));
963
+ }
964
+
965
+ internal static void FindChannelEntityAndCallback<T>(SubscribeMessage subscribeMessage, List<ChannelEntity> channelEntities,
966
+ string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary, ChannelIdentity ci)
967
+ {
968
+ ChannelEntity ce = channelEntities.Find(x => x.ChannelID.Equals(ci));
969
+ if (ce != null)
970
+ {
971
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, FindChannelEntityAndCallback: \n ChannelEntity : {1} cg?={2} ispres?={3}", DateTime.Now.ToString(),
972
+ ce.ChannelID.ChannelOrChannelGroupName, ce.ChannelID.IsChannelGroup.ToString(),
973
+ ce.ChannelID.IsPresenceChannel.ToString()
974
+ ), LoggingMethod.LevelInfo);
975
+
976
+ List<object> itemMessage;
977
+ AddMessageToListV2(cipherKey, jsonPluggableLibrary, subscribeMessage, ce, out itemMessage);
978
+ PubnubChannelCallback<T> channelCallbacks = ce.ChannelParams.Callbacks as PubnubChannelCallback<T>;
979
+
980
+ if ((subscribeMessage.SubscriptionMatch.Contains(".*")) && Utility.IsPresenceChannel(subscribeMessage.Channel))
981
+ {
982
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, FindChannelEntityAndCallback: Wildcard match ChannelEntity : {1} ", DateTime.Now.ToString(),
983
+ ce.ChannelID.ChannelOrChannelGroupName
984
+ ), LoggingMethod.LevelInfo);
985
+
986
+ PubnubCallbacks.GoToCallback<T>(itemMessage, channelCallbacks.WildcardPresenceCallback, jsonPluggableLibrary);
987
+ }
988
+ else
989
+ {
990
+ PubnubCallbacks.GoToCallback<T>(itemMessage, channelCallbacks.SuccessCallback, jsonPluggableLibrary);
991
+ }
992
+ }
993
+ #if (ENABLE_PUBNUB_LOGGING)
994
+ else {
995
+ StringBuilder sbChannelEntity = new StringBuilder();
996
+ foreach( ChannelEntity channelEntity in channelEntities){
997
+ sbChannelEntity.AppendFormat("ChannelEntity : {0} cg?={1} ispres?={2}", channelEntity.ChannelID.ChannelOrChannelGroupName,
998
+ channelEntity.ChannelID.IsChannelGroup.ToString(),
999
+ channelEntity.ChannelID.IsPresenceChannel.ToString()
1000
+ );
1001
+ }
1002
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, FindChannelEntityAndCallback: ChannelEntity : null ci.name {1} \nChannelEntities: \n {2}", DateTime.Now.ToString(),
1003
+ ci.ChannelOrChannelGroupName, sbChannelEntity.ToString()), LoggingMethod.LevelInfo);
1004
+ }
1005
+ #endif
1006
+
1007
+ }
1008
+
1009
+ internal static void ResponseToUserCallbackForSubscribeV2<T>(List<SubscribeMessage> subscribeMessages, List<ChannelEntity> channelEntities,
1010
+ string cipherKey, IJsonPluggableLibrary jsonPluggableLibrary)
1011
+ {
1012
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, In ResponseToUserCallbackForSubscribeV2", DateTime.Now.ToString()
1013
+ ), LoggingMethod.LevelInfo);
1014
+
1015
+ foreach (SubscribeMessage subscribeMessage in subscribeMessages)
1016
+ {
1017
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, ResponseToUserCallbackForSubscribeV2:\n SubscribeMessage:\n" +
1018
+ "shard : {1},\n" +
1019
+ "subscriptionMatch: {2},\n" +
1020
+ "channel: {3},\n" +
1021
+ "payload: {4},\n" +
1022
+ "flags: {5},\n" +
1023
+ "issuingClientId: {6},\n" +
1024
+ "subscribeKey: {7},\n" +
1025
+ "sequenceNumber: {8},\n" +
1026
+ "originatingTimetoken tt: {9},\n" +
1027
+ "originatingTimetoken region: {10},\n" +
1028
+ "publishMetadata tt: {11},\n" +
1029
+ "publishMetadata region: {12},\n" +
1030
+ "userMetadata {13} \n",
1031
+ DateTime.Now.ToString(),
1032
+ subscribeMessage.Shard,
1033
+ subscribeMessage.SubscriptionMatch,
1034
+ subscribeMessage.Channel,
1035
+ subscribeMessage.Payload.ToString(),
1036
+ subscribeMessage.Flags,
1037
+ subscribeMessage.IssuingClientId,
1038
+ subscribeMessage.SubscribeKey,
1039
+ subscribeMessage.SequenceNumber,
1040
+ (subscribeMessage.OriginatingTimetoken != null) ? subscribeMessage.OriginatingTimetoken.Timetoken.ToString() : "",
1041
+ (subscribeMessage.OriginatingTimetoken != null) ? subscribeMessage.OriginatingTimetoken.Region : "",
1042
+ (subscribeMessage.PublishTimetokenMetadata != null) ? subscribeMessage.PublishTimetokenMetadata.Timetoken.ToString() : "",
1043
+ (subscribeMessage.PublishTimetokenMetadata != null) ? subscribeMessage.PublishTimetokenMetadata.Region : "",
1044
+ (subscribeMessage.UserMetadata != null) ? subscribeMessage.UserMetadata.ToString() : "null"),
1045
+ LoggingMethod.LevelInfo);
1046
+
1047
+ bool isPresenceChannel = Utility.IsPresenceChannel(subscribeMessage.Channel);
1048
+ if (string.IsNullOrEmpty(subscribeMessage.SubscriptionMatch) || subscribeMessage.Channel.Equals(subscribeMessage.SubscriptionMatch))
1049
+ {
1050
+ //channel
1051
+
1052
+ ChannelIdentity ci = new ChannelIdentity(subscribeMessage.Channel, false, isPresenceChannel);
1053
+ FindChannelEntityAndCallback<T>(subscribeMessage, channelEntities, cipherKey, jsonPluggableLibrary, ci);
1054
+ }
1055
+ else if (subscribeMessage.SubscriptionMatch.Contains(".*") && isPresenceChannel)
1056
+ {
1057
+ //wildcard presence channel
1058
+
1059
+ ChannelIdentity ci = new ChannelIdentity(subscribeMessage.SubscriptionMatch, false, false);
1060
+ FindChannelEntityAndCallback<T>(subscribeMessage, channelEntities, cipherKey, jsonPluggableLibrary, ci);
1061
+ }
1062
+ else if (subscribeMessage.SubscriptionMatch.Contains(".*"))
1063
+ {
1064
+ //wildcard channel
1065
+ ChannelIdentity ci = new ChannelIdentity(subscribeMessage.SubscriptionMatch, false, isPresenceChannel);
1066
+ FindChannelEntityAndCallback<T>(subscribeMessage, channelEntities, cipherKey, jsonPluggableLibrary, ci);
1067
+
1068
+ }
1069
+ else
1070
+ {
1071
+ ChannelIdentity ci = new ChannelIdentity(subscribeMessage.SubscriptionMatch, true, isPresenceChannel);
1072
+ FindChannelEntityAndCallback<T>(subscribeMessage, channelEntities, cipherKey, jsonPluggableLibrary, ci);
1073
+
1074
+ //ce will be the cg and subscriptionMatch will have the cg name
1075
+ }
1076
+
1077
+ }
1078
+ }
1079
+
1080
+ internal static void ResponseToUserCallback<T>(List<object> result, RequestState<T> asynchRequestState, string cipherKey,
1081
+ IJsonPluggableLibrary jsonPluggableLibrary)
1082
+ {
1083
+ switch (asynchRequestState.RespType)
1084
+ {
1085
+ case ResponseType.Leave:
1086
+ //No response to callback
1087
+ break;
1088
+ case ResponseType.Publish:
1089
+ case ResponseType.DetailedHistory:
1090
+ case ResponseType.HereNow:
1091
+ case ResponseType.GlobalHereNow:
1092
+ case ResponseType.WhereNow:
1093
+ case ResponseType.GrantAccess:
1094
+ case ResponseType.AuditAccess:
1095
+ case ResponseType.RevokeAccess:
1096
+ case ResponseType.GetUserState:
1097
+ case ResponseType.SetUserState:
1098
+ case ResponseType.Time:
1099
+ case ResponseType.PushRegister:
1100
+ case ResponseType.PushRemove:
1101
+ case ResponseType.PushGet:
1102
+ case ResponseType.PushUnregister:
1103
+ case ResponseType.ChannelGroupAdd:
1104
+ case ResponseType.ChannelGroupRemove:
1105
+ case ResponseType.ChannelGroupGet:
1106
+ case ResponseType.ChannelGroupGrantAccess:
1107
+ case ResponseType.ChannelGroupAuditAccess:
1108
+ case ResponseType.ChannelGroupRevokeAccess:
1109
+
1110
+ PubnubCallbacks.SendCallbacks<T>(jsonPluggableLibrary, asynchRequestState, result, CallbackType.Success, false);
1111
+ break;
1112
+ default:
1113
+ break;
1114
+ }
1115
+ }
1116
+
1117
+ internal static void ResponseToConnectCallback<T>(RequestState<T> asynchRequestState,
1118
+ IJsonPluggableLibrary jsonPluggableLibrary, IDependencyProvider provider)
1119
+ {
1120
+ //Check callback exists and make sure previous timetoken = 0
1121
+ if (asynchRequestState.ChannelEntities != null)
1122
+ {
1123
+ bool updateIsAwaitingConnectCallback = false;
1124
+ for (int i = 0; i < asynchRequestState.ChannelEntities.Count; i++)
1125
+ {
1126
+ ChannelEntity channelEntity = asynchRequestState.ChannelEntities[i];
1127
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, Check ResponseToConnectCallback {1}",
1128
+ DateTime.Now.ToString(), channelEntity.ChannelID.ChannelOrChannelGroupName), LoggingMethod.LevelInfo);
1129
+
1130
+ if (channelEntity.ChannelParams.IsAwaitingConnectCallback)
1131
+ {
1132
+ updateIsAwaitingConnectCallback = true;
1133
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, ResponseToConnectCallback IsAwaitingConnectCallback {1}",
1134
+ DateTime.Now.ToString(), channelEntity.ChannelID.ChannelOrChannelGroupName), LoggingMethod.LevelInfo);
1135
+
1136
+ switch (asynchRequestState.RespType)
1137
+ {
1138
+ case ResponseType.SubscribeV2:
1139
+ var connectResult = Helpers.CreateJsonResponse("Connected", channelEntity.ChannelID.ChannelOrChannelGroupName, jsonPluggableLibrary);
1140
+ PubnubCallbacks.SendCallbacks<T>(jsonPluggableLibrary, channelEntity, connectResult,
1141
+ CallbackType.Connect, false);
1142
+
1143
+ break;
1144
+ case ResponseType.PresenceV2:
1145
+ var connectResult2 = Helpers.CreateJsonResponse("Presence Connected",
1146
+ channelEntity.ChannelID.ChannelOrChannelGroupName.Replace(Utility.PresenceChannelSuffix, ""), jsonPluggableLibrary);
1147
+ PubnubCallbacks.SendCallbacks<T>(jsonPluggableLibrary, channelEntity, connectResult2,
1148
+ CallbackType.Connect, false);
1149
+ break;
1150
+ default:
1151
+ break;
1152
+ }
1153
+ }
1154
+ }
1155
+ if (updateIsAwaitingConnectCallback)
1156
+ {
1157
+ Subscription.GetSubscription(provider).UpdateIsAwaitingConnectCallbacksOfEntity(asynchRequestState.ChannelEntities, false);
1158
+ }
1159
+ }
1160
+
1161
+ }
1162
+
1163
+ internal static List<object> CreateJsonResponse(string message, string channel, IJsonPluggableLibrary jsonPluggableLibrary)
1164
+ {
1165
+ string jsonString = "";
1166
+ List<object> connectResult = new List<object>();
1167
+ jsonString = string.Format("[1, \"{0}\"]", message);
1168
+ connectResult = jsonPluggableLibrary.DeserializeToListOfObject(jsonString);
1169
+ connectResult.Add(channel);
1170
+
1171
+ return connectResult;
1172
+ }
1173
+
1174
+ internal static PubnubErrorCode GetTimeOutErrorCode(ResponseType responseType)
1175
+ {
1176
+ switch (responseType)
1177
+ {
1178
+ case ResponseType.AuditAccess:
1179
+ case ResponseType.GrantAccess:
1180
+ case ResponseType.RevokeAccess:
1181
+ case ResponseType.ChannelGroupGrantAccess:
1182
+ case ResponseType.ChannelGroupAuditAccess:
1183
+ case ResponseType.ChannelGroupRevokeAccess:
1184
+ return PubnubErrorCode.PAMAccessOperationTimeout;
1185
+ case ResponseType.DetailedHistory:
1186
+ case ResponseType.History:
1187
+ return PubnubErrorCode.DetailedHistoryOperationTimeout;
1188
+ case ResponseType.GetUserState:
1189
+ return PubnubErrorCode.GetUserStateTimeout;
1190
+ case ResponseType.GlobalHereNow:
1191
+ return PubnubErrorCode.GlobalHereNowOperationTimeout;
1192
+ case ResponseType.SetUserState:
1193
+ return PubnubErrorCode.SetUserStateTimeout;
1194
+ case ResponseType.HereNow:
1195
+ return PubnubErrorCode.HereNowOperationTimeout;
1196
+ case ResponseType.Publish:
1197
+ return PubnubErrorCode.PublishOperationTimeout;
1198
+ case ResponseType.Time:
1199
+ return PubnubErrorCode.TimeOperationTimeout;
1200
+ case ResponseType.WhereNow:
1201
+ return PubnubErrorCode.WhereNowOperationTimeout;
1202
+ default:
1203
+ /*
1204
+ * ResponseType.Presence:
1205
+ * ResponseType.PresenceUnsubscribe:
1206
+ * ResponseType.Leave:
1207
+ * ResponseType.Subscribe:
1208
+ * ResponseType.Unsubscribe:
1209
+ * ResponseType.Heartbeat:
1210
+ * ResponseType.PresenceHeartbeat:
1211
+ * ResponseType.ChannelGroupAdd
1212
+ * ResponseType.ChannelGroupRemove
1213
+ * ResponseType.ChannelGroupGet
1214
+ */
1215
+ return PubnubErrorCode.OperationTimeout;
1216
+ }
1217
+ }
1218
+
1219
+ internal static PubnubClientError CreatePubnubClientError<T>(Exception ex,
1220
+ RequestState<T> requestState, List<ChannelEntity> channelEntities, PubnubErrorCode errorCode, PubnubErrorSeverity severity)
1221
+ {
1222
+
1223
+ if (errorCode.Equals(PubnubErrorCode.None))
1224
+ {
1225
+ errorCode = PubnubErrorCodeHelper.GetErrorType(ex);
1226
+ }
1227
+
1228
+ int statusCode = (int)errorCode;
1229
+ string errorDescription = PubnubErrorCodeDescription.GetStatusCodeDescription(errorCode);
1230
+ PubnubWebRequest request = null;
1231
+ PubnubWebResponse response = null;
1232
+
1233
+ if (requestState != null)
1234
+ {
1235
+ request = requestState.Request;
1236
+ response = requestState.Response;
1237
+ if (channelEntities == null && requestState.ChannelEntities != null)
1238
+ {
1239
+ channelEntities = requestState.ChannelEntities;
1240
+ }
1241
+ }
1242
+
1243
+ PubnubClientError error = new PubnubClientError(statusCode, severity, true, ex.Message, ex,
1244
+ PubnubMessageSource.Client, request, response, errorDescription,
1245
+ channelEntities);
1246
+
1247
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, PubnubClientError = {1}", DateTime.Now.ToString(), error.ToString()), LoggingMethod.LevelInfo);
1248
+ return error;
1249
+ }
1250
+
1251
+ internal static PubnubClientError CreatePubnubClientError<T>(string message,
1252
+ RequestState<T> requestState, PubnubErrorCode errorCode, PubnubErrorSeverity severity, string channels, string channelGroups)
1253
+ {
1254
+
1255
+ int statusCode = (int)errorCode;
1256
+ string errorDescription = PubnubErrorCodeDescription.GetStatusCodeDescription(errorCode);
1257
+
1258
+ PubnubWebRequest request = null;
1259
+ PubnubWebResponse response = null;
1260
+
1261
+ if (requestState != null)
1262
+ {
1263
+ request = requestState.Request;
1264
+ response = requestState.Response;
1265
+ }
1266
+
1267
+ PubnubClientError error = new PubnubClientError(statusCode, severity, message, PubnubMessageSource.Client,
1268
+ request, response, errorDescription,
1269
+ channels, channelGroups
1270
+ );
1271
+
1272
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, PubnubClientError 2 = {1}", DateTime.Now.ToString(), error.ToString()), LoggingMethod.LevelInfo);
1273
+ return error;
1274
+ }
1275
+
1276
+ internal static PubnubClientError CreatePubnubClientError<T>(Exception ex,
1277
+ RequestState<T> requestState, PubnubErrorCode errorCode, PubnubErrorSeverity severity, string channels, string channelGroups)
1278
+ {
1279
+
1280
+ int statusCode = (int)errorCode;
1281
+ string errorDescription = PubnubErrorCodeDescription.GetStatusCodeDescription(errorCode);
1282
+
1283
+ PubnubWebRequest request = null;
1284
+ PubnubWebResponse response = null;
1285
+
1286
+ if (requestState != null)
1287
+ {
1288
+ request = requestState.Request;
1289
+ response = requestState.Response;
1290
+ }
1291
+
1292
+ PubnubClientError error = new PubnubClientError(statusCode, severity, ex.Message, PubnubMessageSource.Client,
1293
+ request, response, errorDescription,
1294
+ channels, channelGroups
1295
+ );
1296
+
1297
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, PubnubClientError 3 = {1}", DateTime.Now.ToString(), error.ToString()), LoggingMethod.LevelInfo);
1298
+ return error;
1299
+ }
1300
+
1301
+ internal static PubnubClientError CreatePubnubClientError<T>(string message,
1302
+ RequestState<T> requestState, List<ChannelEntity> channelEntities, PubnubErrorCode errorCode, PubnubErrorSeverity severity)
1303
+ {
1304
+
1305
+ int statusCode = (int)errorCode;
1306
+ string errorDescription = PubnubErrorCodeDescription.GetStatusCodeDescription(errorCode);
1307
+
1308
+ PubnubWebRequest request = null;
1309
+ PubnubWebResponse response = null;
1310
+
1311
+ if (requestState != null)
1312
+ {
1313
+ request = requestState.Request;
1314
+ response = requestState.Response;
1315
+ }
1316
+
1317
+ PubnubClientError error = new PubnubClientError(statusCode, severity, message, PubnubMessageSource.Client,
1318
+ request, response, errorDescription,
1319
+ channelEntities
1320
+ );
1321
+
1322
+ LoggingMethod.WriteToLog(string.Format("DateTime {0}, PubnubClientError 4 = {1}", DateTime.Now.ToString(), error.ToString()), LoggingMethod.LevelInfo);
1323
+ return error;
1324
+ }
1325
+
1326
+ internal static PubnubClientError CreatePubnubClientError<T>(WebException ex,
1327
+ RequestState<T> requestState, string channel, PubnubErrorSeverity severity)
1328
+ {
1329
+
1330
+ PubnubErrorCode errorCode = PubnubErrorCodeHelper.GetErrorType(ex.Status, ex.Message);
1331
+ return CreatePubnubClientError<T>(ex, requestState, null, errorCode, severity);
1332
+ }
1333
+
1334
+ #endregion
1335
+
1336
+ }
1337
+ }