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,1329 +1,1329 @@
1
- // this file was copied from nuget package Beamable.Common@0.0.0-PREVIEW.NIGHTLY-202512081843
2
- // https://www.nuget.org/packages/Beamable.Common/0.0.0-PREVIEW.NIGHTLY-202512081843
3
-
4
- #if UNITY_WEBGL
5
- #define DISABLE_THREADING
6
- #endif
7
-
8
- using Beamable.Common.Runtime.Collections;
9
- using System;
10
- using System.Collections;
11
- using System.Collections.Generic;
12
- using System.Diagnostics;
13
- using System.Linq;
14
- using System.Linq.Expressions;
15
- using System.Reflection;
16
- using System.Runtime.CompilerServices;
17
- using System.Runtime.ExceptionServices;
18
-
19
- #if (!DISABLE_BEAMABLE_ASYNCMETHODBUILDER && !UNITY_2021_2_OR_NEWER) || (NETSTANDARD2_0)
20
- namespace System.Runtime.CompilerServices
21
- {
22
- public sealed class AsyncMethodBuilderAttribute : Attribute
23
- {
24
- public AsyncMethodBuilderAttribute(Type taskLike)
25
- { }
26
- }
27
- }
28
- #endif
29
-
30
- namespace Beamable.Common
31
- {
32
- /// <summary>
33
- /// This type defines the base for the %Beamable %Promise.
34
- ///
35
- /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
36
- ///
37
- /// #### Related Links
38
- /// - See Beamable.Common.Promise script reference
39
- ///
40
- /// ![img beamable-logo]
41
- ///
42
- /// </summary>
43
- public abstract class PromiseBase
44
- {
45
- protected Action<Exception> errbacks;
46
-
47
- /// <summary>
48
- /// True if there are any registered error handlers.
49
- /// </summary>
50
- public bool HadAnyErrbacks { protected set; get; }
51
-
52
- protected Exception err;
53
- protected ExceptionDispatchInfo errInfo;
54
- protected StackTrace _errStackTrace;
55
- protected object _lock = new object();
56
- internal bool RaiseInnerException { get; set; }
57
-
58
- #if DISABLE_THREADING
59
- protected bool done { get; set; }
60
- #else
61
- private int _doneSignal = 0; // https://stackoverflow.com/questions/29411961/c-sharp-and-thread-safety-of-a-bool
62
- protected bool done
63
- {
64
- get => (System.Threading.Interlocked.CompareExchange(ref _doneSignal, 1, 1) == 1);
65
- set
66
- {
67
- if (value) System.Threading.Interlocked.CompareExchange(ref _doneSignal, 1, 0);
68
- else System.Threading.Interlocked.CompareExchange(ref _doneSignal, 0, 1);
69
- }
70
- }
71
- #endif
72
-
73
- public static readonly Unit Unit = new Unit();
74
-
75
- public static Promise<Unit> SuccessfulUnit => Promise<Unit>.Successful(Unit);
76
-
77
- /// <summary>
78
- /// True when the promise has completed; false otherwise.
79
- /// </summary>
80
- public bool IsCompleted => done;
81
-
82
- /// <summary>
83
- /// True when the promise has completed and the promise has failed.
84
- /// </summary>
85
- public bool IsFailed => done && err != null;
86
-
87
- private static event PromiseEvent OnPotentialUncaughtError;
88
-
89
- public static bool HasUncaughtErrorHandler => OnPotentialUncaughtError != null;
90
-
91
- /// <summary>
92
- /// Set error handlers for uncaught promise errors. Beamable has a default handler set in its API initialization.
93
- /// </summary>
94
- /// <param name="handler">The new error handler.</param>
95
- /// <param name="replaceExistingHandlers">When TRUE, will replace all previously set handlers. When FALSE, will add the given handler.</param>
96
- public static void SetPotentialUncaughtErrorHandler(PromiseEvent handler, bool replaceExistingHandlers = true)
97
- {
98
- // This overwrites it everytime, blowing away any other listeners.
99
- if (replaceExistingHandlers)
100
- {
101
- OnPotentialUncaughtError = handler;
102
- }
103
- else // This allows someone to override the functionality.
104
- {
105
- OnPotentialUncaughtError += handler;
106
- }
107
- }
108
-
109
- protected void InvokeUncaughtPromise()
110
- {
111
- OnPotentialUncaughtError?.Invoke(this, errInfo?.SourceException ?? err);
112
- }
113
-
114
- }
115
-
116
- public delegate void PromiseEvent(PromiseBase promise, Exception err);
117
-
118
-
119
- public interface ITaskLike<TResult, TSelf> : ICriticalNotifyCompletion
120
- where TSelf : ITaskLike<TResult, TSelf>
121
- {
122
- TResult GetResult();
123
-
124
- bool IsCompleted { get; }
125
-
126
- TSelf GetAwaiter();
127
- }
128
-
129
- public static class ITaskLikeExtensions
130
- {
131
- public static Promise<TResult> ToPromise<TResult, TSelf>(this ITaskLike<TResult, TSelf> taskLike)
132
- where TSelf : ITaskLike<TResult, TSelf>
133
- {
134
- var promise = new Promise<TResult>();
135
- taskLike.UnsafeOnCompleted(() => promise.CompleteSuccess(taskLike.GetResult()));
136
- return promise;
137
- }
138
- }
139
-
140
- /// <summary>
141
- /// This type defines the %Beamable %Promise.
142
- ///
143
- /// A promise is an object that may produce a single value some time in the future:
144
- /// either a resolved value, or a reason that it’s not resolved (e.g., a network error occurred).
145
- ///
146
- /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
147
- ///
148
- /// ![img beamable-logo]
149
- ///
150
- /// </summary>
151
- ///
152
- [AsyncMethodBuilder(typeof(PromiseAsyncMethodBuilder<>))]
153
- public class Promise<T> : PromiseBase, ICriticalNotifyCompletion
154
- {
155
- private Action<T> _callbacks;
156
- private T _val;
157
-
158
- /// <summary>
159
- /// Call to set the value and resolve the %Promise
160
- /// </summary>
161
- /// <param name="val"></param>
162
- public void CompleteSuccess(T val)
163
- {
164
- lock (_lock)
165
- {
166
- if (done)
167
- {
168
- return;
169
- }
170
-
171
- _val = val;
172
- done = true;
173
- try
174
- {
175
- _callbacks?.Invoke(val);
176
- }
177
- catch (Exception e)
178
- {
179
- BeamableLogger.LogException(e);
180
- }
181
-
182
- _callbacks = null;
183
- errbacks = null;
184
- }
185
- }
186
-
187
- /// <summary>
188
- /// Call to throw an exception and resolve the %Promise
189
- /// </summary>
190
- /// <param name="ex">exception to complete Promise with</param>
191
- public void CompleteError(Exception ex)
192
- {
193
- lock (_lock)
194
- {
195
- if (done)
196
- {
197
- return;
198
- }
199
-
200
- err = ex;
201
- if (err.StackTrace == null)
202
- {
203
- err.SetStackTrace(new StackTrace());
204
- }
205
- done = true;
206
- errInfo = ExceptionDispatchInfo.Capture(err);
207
-
208
- try
209
- {
210
- if (!HadAnyErrbacks)
211
- {
212
- InvokeUncaughtPromise();
213
- }
214
- else
215
- {
216
- errbacks?.Invoke(ex);
217
- }
218
- }
219
- catch (Exception e)
220
- {
221
- BeamableLogger.LogException(e);
222
- }
223
-
224
- _callbacks = null;
225
- errbacks = null;
226
- }
227
- }
228
-
229
- /// <summary>
230
- /// Call to register a success completion handler callback for the %Promise
231
- /// </summary>
232
- /// <param name="callback"></param>
233
- public Promise<T> Then(Action<T> callback)
234
- {
235
- lock (_lock)
236
- {
237
- if (done)
238
- {
239
- if (err == null)
240
- {
241
- try
242
- {
243
- callback(_val);
244
- }
245
- catch (Exception e)
246
- {
247
- BeamableLogger.LogException(e);
248
- }
249
- }
250
- else
251
- {
252
- // maybe there is no error handler for this guy...
253
- if (!HadAnyErrbacks)
254
- {
255
- InvokeUncaughtPromise();
256
- }
257
- }
258
- }
259
- else
260
- {
261
- _callbacks += callback;
262
- }
263
- }
264
-
265
- return this;
266
- }
267
-
268
- /// <summary>
269
- /// Combine the outcome of this promise with the given promise.
270
- /// If this promise completes, the given promise will complete.
271
- /// If this promise fails, the given promise will fail.
272
- /// </summary>
273
- /// <param name="other">Some promise other than this promise.</param>
274
- /// <returns>The current promise instance</returns>
275
- public Promise<T> Merge(Promise<T> other)
276
- {
277
- Then(other.CompleteSuccess);
278
- Error(other.CompleteError);
279
- return this;
280
- }
281
-
282
- public Promise<T> Merge(Promise other)
283
- {
284
- Then(x => other.CompleteSuccess(Unit));
285
- Error(other.CompleteError);
286
- return this;
287
- }
288
-
289
- /// <summary>
290
- /// Call to register a failure completion handler callback for the %Promise
291
- /// </summary>
292
- /// <param name="errback"></param>
293
- public Promise<T> Error(Action<Exception> errback)
294
- {
295
- lock (_lock)
296
- {
297
- HadAnyErrbacks = true;
298
- if (done)
299
- {
300
- if (err != null)
301
- {
302
- try
303
- {
304
- errback(err);
305
- }
306
- catch (Exception e)
307
- {
308
- BeamableLogger.LogException(e);
309
- }
310
- }
311
- }
312
- else
313
- {
314
- errbacks += errback;
315
- }
316
- }
317
-
318
- return this;
319
- }
320
-
321
- /// <summary>
322
- /// Takes a promise of type A, and returns a promise of
323
- /// type B with a conversion applied.
324
- /// </summary>
325
- /// <param name="callback"></param>
326
- /// <typeparam name="TU"></typeparam>
327
- /// <returns></returns>
328
- public Promise<TU> Map<TU>(Func<T, TU> callback)
329
- {
330
- var result = new Promise<TU>();
331
- // need to forward the error handles of this one, to the next one.x
332
- // result.Error(err => errbacks?.Invoke(err));
333
- Then(value =>
334
- {
335
- try
336
- {
337
- var nextResult = callback(value);
338
- result.CompleteSuccess(nextResult);
339
- }
340
- catch (Exception ex)
341
- {
342
- result.CompleteError(ex);
343
- }
344
- })
345
- .Error(ex => result.CompleteError(ex))
346
- ;
347
- return result;
348
- }
349
-
350
- /// <summary>
351
- /// Takes a promise of type A, and returns a promise of
352
- /// type B with a conversion applied and the promise hierarchy is flattened.
353
- /// </summary>
354
- /// <param name="callback"></param>
355
- /// <param name="factory"></param>
356
- /// <typeparam name="PromiseU"></typeparam>
357
- /// <typeparam name="U"></typeparam>
358
- /// <returns></returns>
359
- public PromiseU FlatMap<PromiseU, U>(Func<T, PromiseU> callback, Func<PromiseU> factory)
360
- where PromiseU : Promise<U>
361
- {
362
- var pu = factory();
363
- FlatMap(callback)
364
- .Then(pu.CompleteSuccess)
365
- .Error(pu.CompleteError);
366
- return pu;
367
- }
368
-
369
- /// <summary>
370
- /// Takes a promise of type A, and returns a promise of
371
- /// type B with a conversion applied and the promise hierarchy is flattened.
372
- /// </summary>
373
- /// <param name="callback"></param>
374
- /// <typeparam name="TU"></typeparam>
375
- /// <returns></returns>
376
- public Promise<TU> FlatMap<TU>(Func<T, Promise<TU>> callback)
377
- {
378
- var result = new Promise<TU>();
379
- Then(value =>
380
- {
381
- try
382
- {
383
- callback(value)
384
- .Then(valueInner => result.CompleteSuccess(valueInner))
385
- .Error(ex => result.CompleteError(ex));
386
- }
387
- catch (Exception ex)
388
- {
389
- result.CompleteError(ex);
390
- }
391
- }).Error(ex => { result.CompleteError(ex); });
392
- return result;
393
- }
394
-
395
- /// <summary>
396
- /// Call to set the value and resolve the %Promise
397
- /// </summary>
398
- /// <param name="value"></param>
399
- /// <returns></returns>
400
- public static Promise<T> Successful(T value)
401
- {
402
- return new Promise<T>
403
- {
404
- done = true,
405
- _val = value
406
- };
407
- }
408
-
409
- /// <summary>
410
- /// Call to throw an exception and resolve the %Promise
411
- /// </summary>
412
- /// <param name="err"></param>
413
- /// <returns></returns>
414
- public static Promise<T> Failed(Exception err)
415
- {
416
- if (err?.StackTrace == null)
417
- {
418
- err?.SetStackTrace(new StackTrace());
419
- }
420
- ExceptionDispatchInfo errInfo = ExceptionDispatchInfo.Capture(err);
421
- return new Promise<T>
422
- {
423
- done = true,
424
- err = err,
425
- errInfo = errInfo
426
- };
427
- }
428
-
429
- void ICriticalNotifyCompletion.UnsafeOnCompleted(Action continuation)
430
- {
431
- Error(_ => continuation());
432
- Then(_ => continuation());
433
- }
434
-
435
- void INotifyCompletion.OnCompleted(Action continuation)
436
- {
437
- ((ICriticalNotifyCompletion)this).UnsafeOnCompleted(continuation);
438
- }
439
-
440
- /// <summary>
441
- /// Get the result of the <see cref="Promise"/>.
442
- /// </summary>
443
- /// <returns></returns>
444
- /// <exception cref="Exception"></exception>
445
- public T GetResult()
446
- {
447
- if (err != null)
448
- {
449
- if (RaiseInnerException)
450
- {
451
- errInfo.Throw();
452
- }
453
- else throw err;
454
- }
455
- return _val;
456
- }
457
-
458
- /// <summary>
459
- /// Get the awaiter of the <see cref="Promise"/>.
460
- /// Once an awaiter is established, this promise will never raise an uncaught exception.
461
- /// </summary>
462
- /// <returns></returns>
463
- /// <exception cref="Exception"></exception>
464
- public Promise<T> GetAwaiter()
465
- {
466
- Error((ex) =>
467
- {
468
- // remove the ability for an uncaught exception to raise. As an awaiter, the .GetResult() method will trigger, which will THROW an error if one exists.
469
- });
470
- return this;
471
- }
472
-
473
- }
474
-
475
- public static class ExceptionUtilities
476
- {
477
- private static readonly FieldInfo STACK_TRACE_STRING_FI = typeof(Exception).GetField("_stackTraceString", BindingFlags.NonPublic | BindingFlags.Instance);
478
- private static readonly Type TRACE_FORMAT_TI = Type.GetType("System.Diagnostics.StackTrace").GetNestedType("TraceFormat", BindingFlags.NonPublic);
479
- private static readonly MethodInfo TRACE_TO_STRING_MI = typeof(StackTrace).GetMethod("ToString", BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { TRACE_FORMAT_TI }, null);
480
-
481
- public static Exception SetStackTrace(this Exception target, StackTrace stack)
482
- {
483
- var getStackTraceString = TRACE_TO_STRING_MI.Invoke(stack, new object[] { Enum.GetValues(TRACE_FORMAT_TI).GetValue(0) });
484
- STACK_TRACE_STRING_FI.SetValue(target, getStackTraceString);
485
- return target;
486
- }
487
- }
488
- public class PromiseException : Exception
489
- {
490
- public PromiseException(Exception inner) : base($"Promise failed with exception {inner.Message}", inner)
491
- {
492
-
493
- }
494
- }
495
-
496
- /// <summary>
497
- /// This type defines the %Beamable %SequencePromise.
498
- ///
499
- /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
500
- ///
501
- /// #### Related Links
502
- /// - See Beamable.Common.Promise script reference
503
- ///
504
- /// ![img beamable-logo]
505
- ///
506
- /// </summary>
507
- public class SequencePromise<T> : Promise<IList<T>>
508
- {
509
- private Action<SequenceEntryException> _entryErrorCallbacks;
510
- private Action<SequenceEntrySuccess<T>> _entrySuccessCallbacks;
511
-
512
- private ConcurrentBag<SequenceEntryException> _errors = new ConcurrentBag<SequenceEntryException>();
513
- private ConcurrentBag<SequenceEntrySuccess<T>> _successes = new ConcurrentBag<SequenceEntrySuccess<T>>();
514
-
515
- private ConcurrentDictionary<int, object> _indexToResult = new ConcurrentDictionary<int, object>();
516
-
517
- /// <summary>
518
- /// The current count of successful promises
519
- /// </summary>
520
- public int SuccessCount => _successes.Count;
521
-
522
- /// <summary>
523
- /// The current count of failed promises
524
- /// </summary>
525
- public int ErrorCount => _errors.Count;
526
-
527
- /// <summary>
528
- /// The current count of completed promises
529
- /// </summary>
530
- public int Total => _errors.Count + _successes.Count;
531
-
532
- /// <summary>
533
- /// The number of promises that this sequence represents
534
- /// </summary>
535
- public int Count { get; }
536
-
537
- /// <summary>
538
- /// The ratio of completed promises to total promises. This will be 1 when all promises have completed.
539
- /// </summary>
540
- public float Ratio => HasProcessedAllEntries ? 1 : Total / (float)Count;
541
-
542
- /// <summary>
543
- /// True when all promises have completed; false otherwise
544
- /// </summary>
545
- public bool HasProcessedAllEntries => Total == Count;
546
-
547
- /// <summary>
548
- /// An enumeration of the successful results. There will be a <typeparamref name="T"/> for each successful promise.
549
- /// </summary>
550
- public IEnumerable<T> SuccessfulResults => _successes.Select(s => s.Result);
551
-
552
- public SequencePromise(int count)
553
- {
554
- Count = count;
555
- if (Count == 0)
556
- {
557
- CompleteSuccess();
558
- }
559
- }
560
-
561
- /// <summary>
562
- /// Attach a callback that will trigger anytime a promise fails
563
- /// </summary>
564
- /// <param name="handler">A callback that will be given a <see cref="SequenceEntryException"/> everytime a promise fails</param>
565
- /// <returns>This instance</returns>
566
- public SequencePromise<T> OnElementError(Action<SequenceEntryException> handler)
567
- {
568
- foreach (var existingError in _errors)
569
- {
570
- handler?.Invoke(existingError);
571
- }
572
-
573
- _entryErrorCallbacks += handler;
574
- return this;
575
- }
576
-
577
- /// <summary>
578
- /// Attach a callback that will trigger anytime a promise succeeds
579
- /// </summary>
580
- /// <param name="handler">A callback that will be given a <see cref="SequenceEntrySuccess{T}"/> everytime a promise succeeds</param>
581
- /// <returns>This instance</returns>
582
- public SequencePromise<T> OnElementSuccess(Action<SequenceEntrySuccess<T>> handler)
583
- {
584
- foreach (var success in _successes)
585
- {
586
- handler?.Invoke(success);
587
- }
588
-
589
- _entrySuccessCallbacks += handler;
590
- return this;
591
- }
592
-
593
- /// <summary>
594
- /// Mark the entire sequence promise as complete
595
- /// </summary>
596
- public void CompleteSuccess()
597
- {
598
- base.CompleteSuccess(SuccessfulResults.ToList());
599
- }
600
-
601
- /// <summary>
602
- /// When a promise has failed, report the failure.
603
- /// One failed promise will cause the entire sequence promise to be considered a failed promise.
604
- /// </summary>
605
- /// <param name="exception">The <see cref="SequenceEntryException"/> that occured</param>
606
- public void ReportEntryError(SequenceEntryException exception)
607
- {
608
- if (_indexToResult.ContainsKey(exception.Index) || exception.Index >= Count) return;
609
-
610
- _errors.Add(exception);
611
- _indexToResult.TryAdd(exception.Index, exception);
612
- _entryErrorCallbacks?.Invoke(exception);
613
-
614
- CompleteError(exception.InnerException);
615
- }
616
-
617
- /// <summary>
618
- /// When a promise has succeeded, report the success.
619
- /// All promises must report success for the entire sequence promise to succeed.
620
- /// </summary>
621
- /// <param name="success">The <see cref="SequenceEntrySuccess{T}"/> that occured</param>
622
- public void ReportEntrySuccess(SequenceEntrySuccess<T> success)
623
- {
624
- if (_indexToResult.ContainsKey(success.Index) || success.Index >= Count) return;
625
-
626
- _successes.Add(success);
627
- _indexToResult.TryAdd(success.Index, success);
628
- _entrySuccessCallbacks?.Invoke(success);
629
-
630
- if (HasProcessedAllEntries)
631
- {
632
- CompleteSuccess();
633
- }
634
- }
635
-
636
- /// <summary>
637
- /// <inheritdoc cref="ReportEntrySuccess(Beamable.Common.SequenceEntrySuccess{T})"/>
638
- /// </summary>
639
- /// <param name="index">The promise index that succeeded.</param>
640
- /// <param name="result">The success value of the promise</param>
641
- public void ReportEntrySuccess(int index, T result) =>
642
- ReportEntrySuccess(new SequenceEntrySuccess<T>(index, result));
643
-
644
- /// <summary>
645
- /// <inheritdoc cref="ReportEntryError(Beamable.Common.SequenceEntryException)"/>
646
- /// </summary>
647
- /// <param name="index">The promise index that failed</param>
648
- /// <param name="err">The exception that failed the promise</param>
649
- public void ReportEntryError(int index, Exception err) =>
650
- ReportEntryError(new SequenceEntryException(index, err));
651
- }
652
-
653
- // Do not add doxygen comments to "public static class Promise" because
654
- // it confuses this with the doxygen output with "public class Promise" - srivello
655
- [AsyncMethodBuilder(typeof(PromiseAsyncMethodBuilder))]
656
- public class Promise : Promise<Unit>
657
- {
658
- public static Promise Success { get; } = new Promise { done = true };
659
-
660
- public void CompleteSuccess() => CompleteSuccess(PromiseBase.Unit);
661
-
662
-
663
- /// <summary>
664
- /// This function accepts a generator that will produce a promise, and then
665
- /// that promise will be executed.
666
- ///
667
- /// If the promise fails, the <paramref name="shouldRetry"/> callback will be executed
668
- /// with the Exception that caused the promise to fail. If the callback returns
669
- /// `true`, then the generator function will be re-invoked to generate a new promise
670
- /// instance.
671
- ///
672
- /// This loop continues until the promise succeeds, the callback returns false,
673
- /// or the callback has been called <paramref name="maxAttempts"/> times.
674
- /// </summary>
675
- /// <param name="promiseGenerator"></param>
676
- /// <param name="shouldRetry"></param>
677
- /// <param name="maxAttempts"></param>
678
- /// <typeparam name="T"></typeparam>
679
- /// <returns></returns>
680
- /// <exception cref="InvalidOperationException"></exception>
681
- public static async Promise<T> RetryPromise<T>(Func<Promise<T>> promiseGenerator, Func<Exception, bool> shouldRetry, int maxAttempts = 1000)
682
- {
683
- Exception lastEx = null;
684
- while (maxAttempts-- > 0)
685
- {
686
- try
687
- {
688
- var promise = promiseGenerator();
689
- var result = await promise;
690
- return result;
691
- }
692
- catch (Exception ex)
693
- {
694
- lastEx = ex;
695
- if (!shouldRetry(ex))
696
- {
697
- throw;
698
- }
699
- }
700
- }
701
-
702
- throw new InvalidOperationException("promise failed to complete after maximum retry count", lastEx);
703
- }
704
-
705
-
706
- /// <summary>
707
- /// Create a <see cref="SequencePromise{T}"/> from List of <see cref="Promise{T}"/>
708
- /// </summary>
709
- /// <param name="promises"></param>
710
- /// <typeparam name="T"></typeparam>
711
- /// <returns></returns>
712
- public static SequencePromise<T> ObservableSequence<T>(IList<Promise<T>> promises)
713
- {
714
- var result = new SequencePromise<T>(promises.Count);
715
-
716
- if (promises == null || promises.Count == 0)
717
- {
718
- result.CompleteSuccess();
719
- return result;
720
- }
721
-
722
- for (var i = 0; i < promises.Count; i++)
723
- {
724
- var index = i;
725
- promises[i].Then(reply =>
726
- {
727
- result.ReportEntrySuccess(new SequenceEntrySuccess<T>(index, reply));
728
-
729
- if (result.Total == promises.Count)
730
- {
731
- result.CompleteSuccess();
732
- }
733
- }).Error(err =>
734
- {
735
- result.ReportEntryError(new SequenceEntryException(index, err));
736
- result.CompleteError(err);
737
- });
738
- }
739
-
740
- return result;
741
- }
742
-
743
- /// <summary>
744
- /// Create a <see cref="Promise"/> of List from a List of <see cref="Promise"/>s.
745
- /// </summary>
746
- /// <param name="promises"></param>
747
- /// <typeparam name="T"></typeparam>
748
- /// <returns></returns>
749
- public static Promise<List<T>> Sequence<T>(IList<Promise<T>> promises)
750
- {
751
- var result = new Promise<List<T>>();
752
- var replies = new List<T>();
753
- var completeCount = new AtomicInt();
754
- for (var i = 0; i < promises.Count; i++)
755
- {
756
- replies.Add(default);
757
- }
758
-
759
- if (promises.Count == 0)
760
- {
761
- result.CompleteSuccess(replies);
762
- return result;
763
- }
764
-
765
- for (var i = 0; i < promises.Count; i++)
766
- {
767
- var index = i;
768
-
769
- promises[index].Then(reply =>
770
- {
771
- replies[index] = reply;
772
- completeCount.Increment();
773
-
774
- if (completeCount.Value == promises.Count)
775
- {
776
- result.CompleteSuccess(replies);
777
- }
778
- }).Error(err => result.CompleteError(err));
779
- }
780
-
781
- return result;
782
- }
783
-
784
- /// <summary>
785
- /// Create Sequence <see cref="Promise"/> from an array of <see cref="Promise"/>s.
786
- /// </summary>
787
- /// <param name="promises"></param>
788
- /// <typeparam name="T"></typeparam>
789
- /// <returns></returns>
790
- public static Promise<List<T>> Sequence<T>(params Promise<T>[] promises)
791
- {
792
- return Sequence((IList<Promise<T>>)promises);
793
- }
794
-
795
- /// <summary>
796
- /// Given a list of promise generator functions, process the whole list, but serially.
797
- /// Only one promise will be active at any given moment.
798
- /// </summary>
799
- /// <param name="generators"></param>
800
- /// <param name="stopWhen"></param>
801
- /// <typeparam name="T"></typeparam>
802
- /// <returns>A single promise of Unit to represent the completion of the processing. Any other side effects need to be handled separately</returns>
803
- public static Promise<Unit> ExecuteSerially<T>(List<Func<Promise<T>>> generators, Func<bool> stopWhen = null)
804
- {
805
- #if DISABLE_THREADING // unity doesn't supporting System.Threading
806
- // use a tail recursion approach. It'll stink for massive lists, but at least it works for small ones
807
- if (generators.Count == 0)
808
- {
809
- return PromiseBase.SuccessfulUnit;
810
- }
811
- var first = generators.First();
812
- var rest = generators.Skip(1).ToList();
813
- return first().FlatMap(_ => ExecuteSerially<T>(rest));
814
- #else
815
- async System.Threading.Tasks.Task Execute()
816
- {
817
- for (var i = 0; i < generators.Count; i++)
818
- {
819
- if (stopWhen != null && stopWhen())
820
- {
821
- break;
822
- }
823
-
824
- var generator = generators[i];
825
- var promise = generator();
826
- await promise;
827
- }
828
- }
829
-
830
- return Execute().ToPromise();
831
- #endif
832
- }
833
-
834
- private interface IAtomicInt
835
- {
836
- int Value { get; }
837
- void Increment();
838
- void Decrement();
839
- }
840
-
841
- #if DISABLE_THREADING
842
- private class AtomicInt : IAtomicInt
843
- {
844
- public int Value { get; private set; }
845
- public void Increment()
846
- {
847
- Value++;
848
- }
849
-
850
- public void Decrement()
851
- {
852
- Value--;
853
- }
854
- }
855
- #else
856
- private class AtomicInt : IAtomicInt
857
- {
858
- private int v;
859
-
860
- public int Value => System.Threading.Interlocked.CompareExchange(ref v, 0, 0);
861
-
862
- public void Increment()
863
- {
864
- System.Threading.Interlocked.Increment(ref v);
865
- }
866
-
867
- public void Decrement()
868
- {
869
- System.Threading.Interlocked.Decrement(ref v);
870
- }
871
- }
872
- #endif
873
-
874
- /// <summary>
875
- /// Given a list of promise generator functions, process the list, but in a rolling fashion.
876
- /// </summary>
877
- /// <param name="maxProcessSize"></param>
878
- /// <param name="generators"></param>
879
- /// <param name="stopWhen"></param>
880
- /// <typeparam name="T"></typeparam>
881
- /// <returns></returns>
882
- [Obsolete("This method isn't safe to use one devices with low callstack limits like Javascript, or Android. Use " + nameof(ExecuteInBatchSequence) + " instead.")]
883
- public static SequencePromise<T> ExecuteRolling<T>(int maxProcessSize, List<Func<Promise<T>>> generators, Func<bool> stopWhen = null)
884
- {
885
- return ExecuteInBatchSequence(maxProcessSize, generators, stopWhen);
886
- }
887
-
888
- /// <summary>
889
- /// Given a list of promise generator functions, process the list, but in batches of some size.
890
- /// The batches themselves will run one at a time. Every promise in the current batch must finish before the next batch can start.
891
- /// </summary>
892
- /// <param name="maxBatchSize"></param>
893
- /// <param name="generators"></param>
894
- /// <typeparam name="T"></typeparam>
895
- /// <returns>A single promise of Unit to represent the completion of the processing. Any other side effects need to be handled separately</returns>
896
- public static Promise<Unit> ExecuteInBatch<T>(int maxBatchSize, List<Func<Promise<T>>> generators)
897
- {
898
- var batches = new List<List<Func<Promise<T>>>>();
899
-
900
- // create batches...
901
- for (var i = 0; i < generators.Count; i += maxBatchSize)
902
- {
903
- var start = i;
904
- var minBatchSize = generators.Count - start;
905
- var count = minBatchSize < maxBatchSize ? minBatchSize : maxBatchSize; // min()
906
- var batch = generators.GetRange(start, count);
907
- batches.Add(batch);
908
- }
909
-
910
- Promise<List<T>> ProcessBatch(List<Func<Promise<T>>> batch)
911
- {
912
- // start all generators in batch...
913
- return Promise.Sequence(batch.Select(generator => generator()).ToList());
914
- }
915
-
916
- // run each batch, serially...
917
- var batchRunners = batches.Select(batch => new Func<Promise<List<T>>>(() => ProcessBatch(batch))).ToList();
918
-
919
- return ExecuteSerially(batchRunners);
920
- }
921
-
922
- public static SequencePromise<T> ExecuteInBatchSequence<T>(int maxBatchSize, List<Func<Promise<T>>> generators, Func<bool> stopWhen = null)
923
- {
924
- var batches = new List<List<Func<Promise<T>>>>();
925
-
926
- var seq = new SequencePromise<T>(generators.Count);
927
- var current = new AtomicInt();
928
- // create batches...
929
- for (var i = 0; i < generators.Count; i += maxBatchSize)
930
- {
931
- var start = i;
932
- var minBatchSize = generators.Count - start;
933
- var count = minBatchSize < maxBatchSize ? minBatchSize : maxBatchSize; // min()
934
- var batch = generators.GetRange(start, count);
935
- batches.Add(batch);
936
- }
937
-
938
- Promise<List<T>> ProcessBatch(List<Func<Promise<T>>> batch)
939
- {
940
- // start all generators in batch...
941
- return Promise.Sequence(batch.Select(generator =>
942
- {
943
- var promise = generator();
944
- var index = current.Value;
945
- current.Increment();
946
- promise.Then(res => seq.ReportEntrySuccess(index, res))
947
- .Error(err => seq.ReportEntryError(index, err));
948
- return promise;
949
- }).ToList());
950
- }
951
-
952
- // run each batch, serially...
953
- var batchRunners = batches.Select(batch => new Func<Promise<List<T>>>(() => ProcessBatch(batch))).ToList();
954
-
955
- ExecuteSerially(batchRunners, stopWhen);
956
- return seq;
957
- }
958
- }
959
-
960
- /// <summary>
961
- /// This type defines the static %Beamable %SequenceEntryException.
962
- ///
963
- /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
964
- ///
965
- /// #### Related Links
966
- /// - See Beamable.Common.Promise script reference
967
- ///
968
- /// ![img beamable-logo]
969
- ///
970
- /// </summary>
971
- public class SequenceEntryException : Exception
972
- {
973
- public int Index { get; }
974
-
975
- public SequenceEntryException(int index, Exception inner) : base($"index[{index}]. {inner.Message}", inner)
976
- {
977
- Index = index;
978
- }
979
- }
980
-
981
- /// <summary>
982
- /// This type defines the static %Beamable %SequenceEntrySuccess.
983
- ///
984
- /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
985
- ///
986
- /// #### Related Links
987
- /// - See Beamable.Common.Promise script reference
988
- ///
989
- /// ![img beamable-logo]
990
- ///
991
- /// </summary>
992
- public class SequenceEntrySuccess<T>
993
- {
994
- public int Index { get; private set; }
995
- public T Result { get; private set; }
996
-
997
- public SequenceEntrySuccess(int index, T result)
998
- {
999
- Index = index;
1000
- Result = result;
1001
- }
1002
- }
1003
-
1004
- /// <summary>
1005
- /// This type defines the static %Beamable %PromiseExtensions.
1006
- ///
1007
- /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
1008
- ///
1009
- /// #### Related Links
1010
- /// - See Beamable.Common.Promise script reference
1011
- ///
1012
- /// ![img beamable-logo]
1013
- ///
1014
- /// </summary>
1015
- public static class PromiseExtensions
1016
- {
1017
- /// <summary>
1018
- /// Create a new promise that potentially recovers from a failure that occurs in the given promise.
1019
- /// If the given promise succeeds, this method's returned promise will succeed with the same value.
1020
- /// If the given promise fails, the exception will be passed to the callback, and this method's returned promise will succeed
1021
- /// or fail based on the return value of the callback. If the callback returns a <typeparamref name="T"/>, then the returned promise
1022
- /// will succeed with that value. If the callback throws the same exception, or raises a new one, then the returned promise
1023
- /// will fail with the given exception.
1024
- /// </summary>
1025
- /// <param name="promise">A promise</param>
1026
- /// <param name="callback">A recovery function</param>
1027
- /// <typeparam name="T">The type of the promise</typeparam>
1028
- /// <returns>A new promise that may recover from a potential failure in the given promise</returns>
1029
- public static Promise<T> Recover<T>(this Promise<T> promise, Func<Exception, T> callback)
1030
- {
1031
- var result = new Promise<T>();
1032
- promise.Then(value => result.CompleteSuccess(value))
1033
- .Error(err =>
1034
- {
1035
- try
1036
- {
1037
- result.CompleteSuccess(callback(err));
1038
- }
1039
- catch (Exception ex)
1040
- {
1041
- result.CompleteError(ex);
1042
- }
1043
- });
1044
- return result;
1045
- }
1046
-
1047
- /// <summary>
1048
- /// Similar to <see cref="Recover{T}"/>.
1049
- /// However, The callback returns a <see cref="Promise{T}"/> instead of a <typeparamref name="T"/> directly.
1050
- /// </summary>
1051
- /// <param name="promise">A promise</param>
1052
- /// <param name="callback">A recovery function</param>
1053
- /// <typeparam name="T">The type of the promise</typeparam>
1054
- /// <returns>A new promise that may recover from a potential failure in the given promise</returns>
1055
- public static Promise<T> RecoverWith<T>(this Promise<T> promise, Func<Exception, Promise<T>> callback)
1056
- {
1057
- var result = new Promise<T>();
1058
- promise.Then(value => result.CompleteSuccess(value)).Error(err =>
1059
- {
1060
- try
1061
- {
1062
- var nextPromise = callback(err);
1063
- nextPromise.Then(value => result.CompleteSuccess(value)).Error(errInner =>
1064
- {
1065
- result.CompleteError(errInner);
1066
- });
1067
- }
1068
- catch (Exception ex)
1069
- {
1070
- result.CompleteError(ex);
1071
- }
1072
- });
1073
- return result;
1074
- }
1075
-
1076
- public static Promise<T> ReportInnerException<T>(this Promise<T> promise, bool raiseInnerException = true)
1077
- {
1078
- promise.RaiseInnerException = raiseInnerException;
1079
- return promise;
1080
- }
1081
-
1082
- #if !UNITY_WEBGL || UNITY_EDITOR // webgl does not support the system.threading library
1083
- /// <summary>
1084
- /// Convert <see cref="System.Threading.Tasks.Task"/> to <see cref="Promise{Unit}"/>.
1085
- /// </summary>
1086
- /// <param name="task"></param>
1087
- /// <returns></returns>
1088
- public static Promise<Unit> ToPromise(this System.Threading.Tasks.Task task)
1089
- {
1090
- var promise = new Promise<Unit>();
1091
-
1092
- async System.Threading.Tasks.Task Helper()
1093
- {
1094
- try
1095
- {
1096
- await task;
1097
- promise.CompleteSuccess(PromiseBase.Unit);
1098
-
1099
- }
1100
- catch (Exception ex)
1101
- {
1102
- promise.CompleteError(ex);
1103
- }
1104
- }
1105
-
1106
- var _ = Helper();
1107
-
1108
- return promise;
1109
- }
1110
-
1111
- /// <summary>
1112
- /// Convert <see cref="System.Threading.Tasks.Task{T}"/> to <see cref="Promise{T}"/>.
1113
- /// </summary>
1114
- /// <param name="task"></param>
1115
- /// <typeparam name="T"></typeparam>
1116
- /// <returns></returns>
1117
- public static Promise<T> ToPromise<T>(this System.Threading.Tasks.Task<T> task)
1118
- {
1119
- var promise = new Promise<T>();
1120
-
1121
- async System.Threading.Tasks.Task Helper()
1122
- {
1123
- try
1124
- {
1125
- var result = await task;
1126
- promise.CompleteSuccess(result);
1127
- }
1128
- catch (Exception ex)
1129
- {
1130
- promise.CompleteError(ex);
1131
- }
1132
- }
1133
-
1134
- var _ = Helper();
1135
-
1136
- return promise;
1137
- }
1138
- #endif
1139
-
1140
- /// <summary>
1141
- /// Convert the given promise to a <see cref="Promise{Unit}"/>
1142
- /// </summary>
1143
- /// <param name="self">some promise of type <typeparamref name="T"/></param>
1144
- /// <typeparam name="T">some type</typeparam>
1145
- /// <returns>A promise of type Unit</returns>
1146
- public static Promise<Unit> ToUnit<T>(this Promise<T> self)
1147
- {
1148
- return self.Map(_ => PromiseBase.Unit);
1149
- }
1150
-
1151
- /// <summary>
1152
- /// Create a new promise that strips away the generic type information of the given promise.
1153
- /// </summary>
1154
- /// <param name="self">Some promise</param>
1155
- /// <typeparam name="T">some type</typeparam>
1156
- /// <returns>A typeless promise</returns>
1157
- public static Promise ToPromise<T>(this Promise<T> self)
1158
- {
1159
- var p = new Promise();
1160
- self.Then(_ => p.CompleteSuccess(PromiseBase.Unit));
1161
- self.Error(p.CompleteError);
1162
- return p;
1163
- }
1164
- }
1165
-
1166
- /// <summary>
1167
- /// This type defines the static %Beamable %UncaughtPromiseException.
1168
- ///
1169
- /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
1170
- ///
1171
- /// #### Related Links
1172
- /// - See Beamable.Common.Promise script reference
1173
- ///
1174
- /// ![img beamable-logo]
1175
- ///
1176
- /// </summary>
1177
- public class UncaughtPromiseException : Exception
1178
- {
1179
- public PromiseBase Promise { get; }
1180
-
1181
- public UncaughtPromiseException(PromiseBase promise, Exception ex) : base(
1182
- $"Uncaught promise innerMsg=[{ex.Message}] innerType=[{ex?.GetType()?.Name}] ", ex)
1183
- {
1184
- Promise = promise;
1185
- }
1186
- }
1187
-
1188
- /// <summary>
1189
- /// This type defines the struct %Beamable %Unit.
1190
- ///
1191
- /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
1192
- ///
1193
- /// #### Related Links
1194
- /// - See Beamable.Common.Promise script reference
1195
- ///
1196
- /// ![img beamable-logo]
1197
- ///
1198
- /// </summary>
1199
- public readonly struct Unit
1200
- {
1201
- }
1202
-
1203
- /// <summary>
1204
- /// https://github.com/dotnet/roslyn/blob/main/docs/features/task-types.md
1205
- /// https://referencesource.microsoft.com/#mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs
1206
- /// </summary>
1207
- /// <typeparam name="T"></typeparam>
1208
- public sealed class PromiseAsyncMethodBuilder<T>
1209
- {
1210
- private IAsyncStateMachine _stateMachine;
1211
- private Promise<T> _promise = new Promise<T>(); // TODO: allocation.
1212
-
1213
- public static PromiseAsyncMethodBuilder<T> Create()
1214
- {
1215
- return new PromiseAsyncMethodBuilder<T>();
1216
- }
1217
-
1218
- public void SetResult(T res)
1219
- {
1220
- _promise.CompleteSuccess(res);
1221
- }
1222
-
1223
- public void SetException(Exception ex)
1224
- {
1225
- _promise.RaiseInnerException = true;
1226
- // TODO: there is a bug here, where an "uncaught" exception can still happen even if someone try/catches it.
1227
- _promise.Error(err => { });
1228
- _promise.CompleteError(ex);
1229
- }
1230
-
1231
- public void SetStateMachine(IAsyncStateMachine machine)
1232
- {
1233
- _stateMachine = machine;
1234
- }
1235
-
1236
- public void AwaitOnCompleted<TAwaiter, TStateMachine>(
1237
- ref TAwaiter awaiter, ref TStateMachine stateMachine)
1238
- where TAwaiter : INotifyCompletion
1239
- where TStateMachine : IAsyncStateMachine
1240
- {
1241
- if (_stateMachine == null)
1242
- {
1243
- _stateMachine = stateMachine;
1244
- _stateMachine.SetStateMachine(stateMachine);
1245
- }
1246
-
1247
- awaiter.OnCompleted(() =>
1248
- {
1249
- _stateMachine.MoveNext();
1250
- });
1251
- }
1252
-
1253
- public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(
1254
- ref TAwaiter awaiter, ref TStateMachine stateMachine)
1255
- where TAwaiter : ICriticalNotifyCompletion
1256
- where TStateMachine : IAsyncStateMachine
1257
- {
1258
- AwaitOnCompleted(ref awaiter, ref stateMachine);
1259
- }
1260
-
1261
- public void Start<TStateMachine>(ref TStateMachine stateMachine)
1262
- where TStateMachine : IAsyncStateMachine
1263
- {
1264
- stateMachine.MoveNext();
1265
- }
1266
-
1267
- public Promise<T> Task => _promise;
1268
- }
1269
-
1270
- public sealed class PromiseAsyncMethodBuilder
1271
- {
1272
- private IAsyncStateMachine _stateMachine;
1273
- private Promise _promise = new Promise(); // TODO: allocation.
1274
-
1275
- public static PromiseAsyncMethodBuilder Create()
1276
- {
1277
- return new PromiseAsyncMethodBuilder();
1278
- }
1279
-
1280
- public void SetResult()
1281
- {
1282
- _promise.CompleteSuccess(PromiseBase.Unit);
1283
- }
1284
-
1285
- public void SetException(Exception ex)
1286
- {
1287
- _promise.RaiseInnerException = true;
1288
- _promise.CompleteError(ex);
1289
- }
1290
-
1291
- public void SetStateMachine(IAsyncStateMachine machine)
1292
- {
1293
- _stateMachine = machine;
1294
- }
1295
-
1296
- public void AwaitOnCompleted<TAwaiter, TStateMachine>(
1297
- ref TAwaiter awaiter, ref TStateMachine stateMachine)
1298
- where TAwaiter : INotifyCompletion
1299
- where TStateMachine : IAsyncStateMachine
1300
- {
1301
- if (_stateMachine == null)
1302
- {
1303
- _stateMachine = stateMachine;
1304
- _stateMachine.SetStateMachine(stateMachine);
1305
- }
1306
-
1307
- awaiter.OnCompleted(() =>
1308
- {
1309
- _stateMachine.MoveNext();
1310
- });
1311
- }
1312
-
1313
- public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(
1314
- ref TAwaiter awaiter, ref TStateMachine stateMachine)
1315
- where TAwaiter : ICriticalNotifyCompletion
1316
- where TStateMachine : IAsyncStateMachine
1317
- {
1318
- AwaitOnCompleted(ref awaiter, ref stateMachine);
1319
- }
1320
-
1321
- public void Start<TStateMachine>(ref TStateMachine stateMachine)
1322
- where TStateMachine : IAsyncStateMachine
1323
- {
1324
- stateMachine.MoveNext();
1325
- }
1326
-
1327
- public Promise Task => _promise;
1328
- }
1329
- }
1
+ // this file was copied from nuget package Beamable.Common@7.0.0-PREVIEW.RC9
2
+ // https://www.nuget.org/packages/Beamable.Common/7.0.0-PREVIEW.RC9
3
+
4
+ #if UNITY_WEBGL
5
+ #define DISABLE_THREADING
6
+ #endif
7
+
8
+ using Beamable.Common.Runtime.Collections;
9
+ using System;
10
+ using System.Collections;
11
+ using System.Collections.Generic;
12
+ using System.Diagnostics;
13
+ using System.Linq;
14
+ using System.Linq.Expressions;
15
+ using System.Reflection;
16
+ using System.Runtime.CompilerServices;
17
+ using System.Runtime.ExceptionServices;
18
+
19
+ #if (!DISABLE_BEAMABLE_ASYNCMETHODBUILDER && !UNITY_2021_2_OR_NEWER) || (NETSTANDARD2_0)
20
+ namespace System.Runtime.CompilerServices
21
+ {
22
+ public sealed class AsyncMethodBuilderAttribute : Attribute
23
+ {
24
+ public AsyncMethodBuilderAttribute(Type taskLike)
25
+ { }
26
+ }
27
+ }
28
+ #endif
29
+
30
+ namespace Beamable.Common
31
+ {
32
+ /// <summary>
33
+ /// This type defines the base for the %Beamable %Promise.
34
+ ///
35
+ /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
36
+ ///
37
+ /// #### Related Links
38
+ /// - See Beamable.Common.Promise script reference
39
+ ///
40
+ /// ![img beamable-logo]
41
+ ///
42
+ /// </summary>
43
+ public abstract class PromiseBase
44
+ {
45
+ protected Action<Exception> errbacks;
46
+
47
+ /// <summary>
48
+ /// True if there are any registered error handlers.
49
+ /// </summary>
50
+ public bool HadAnyErrbacks { protected set; get; }
51
+
52
+ protected Exception err;
53
+ protected ExceptionDispatchInfo errInfo;
54
+ protected StackTrace _errStackTrace;
55
+ protected object _lock = new object();
56
+ internal bool RaiseInnerException { get; set; }
57
+
58
+ #if DISABLE_THREADING
59
+ protected bool done { get; set; }
60
+ #else
61
+ private int _doneSignal = 0; // https://stackoverflow.com/questions/29411961/c-sharp-and-thread-safety-of-a-bool
62
+ protected bool done
63
+ {
64
+ get => (System.Threading.Interlocked.CompareExchange(ref _doneSignal, 1, 1) == 1);
65
+ set
66
+ {
67
+ if (value) System.Threading.Interlocked.CompareExchange(ref _doneSignal, 1, 0);
68
+ else System.Threading.Interlocked.CompareExchange(ref _doneSignal, 0, 1);
69
+ }
70
+ }
71
+ #endif
72
+
73
+ public static readonly Unit Unit = new Unit();
74
+
75
+ public static Promise<Unit> SuccessfulUnit => Promise<Unit>.Successful(Unit);
76
+
77
+ /// <summary>
78
+ /// True when the promise has completed; false otherwise.
79
+ /// </summary>
80
+ public bool IsCompleted => done;
81
+
82
+ /// <summary>
83
+ /// True when the promise has completed and the promise has failed.
84
+ /// </summary>
85
+ public bool IsFailed => done && err != null;
86
+
87
+ private static event PromiseEvent OnPotentialUncaughtError;
88
+
89
+ public static bool HasUncaughtErrorHandler => OnPotentialUncaughtError != null;
90
+
91
+ /// <summary>
92
+ /// Set error handlers for uncaught promise errors. Beamable has a default handler set in its API initialization.
93
+ /// </summary>
94
+ /// <param name="handler">The new error handler.</param>
95
+ /// <param name="replaceExistingHandlers">When TRUE, will replace all previously set handlers. When FALSE, will add the given handler.</param>
96
+ public static void SetPotentialUncaughtErrorHandler(PromiseEvent handler, bool replaceExistingHandlers = true)
97
+ {
98
+ // This overwrites it everytime, blowing away any other listeners.
99
+ if (replaceExistingHandlers)
100
+ {
101
+ OnPotentialUncaughtError = handler;
102
+ }
103
+ else // This allows someone to override the functionality.
104
+ {
105
+ OnPotentialUncaughtError += handler;
106
+ }
107
+ }
108
+
109
+ protected void InvokeUncaughtPromise()
110
+ {
111
+ OnPotentialUncaughtError?.Invoke(this, errInfo?.SourceException ?? err);
112
+ }
113
+
114
+ }
115
+
116
+ public delegate void PromiseEvent(PromiseBase promise, Exception err);
117
+
118
+
119
+ public interface ITaskLike<TResult, TSelf> : ICriticalNotifyCompletion
120
+ where TSelf : ITaskLike<TResult, TSelf>
121
+ {
122
+ TResult GetResult();
123
+
124
+ bool IsCompleted { get; }
125
+
126
+ TSelf GetAwaiter();
127
+ }
128
+
129
+ public static class ITaskLikeExtensions
130
+ {
131
+ public static Promise<TResult> ToPromise<TResult, TSelf>(this ITaskLike<TResult, TSelf> taskLike)
132
+ where TSelf : ITaskLike<TResult, TSelf>
133
+ {
134
+ var promise = new Promise<TResult>();
135
+ taskLike.UnsafeOnCompleted(() => promise.CompleteSuccess(taskLike.GetResult()));
136
+ return promise;
137
+ }
138
+ }
139
+
140
+ /// <summary>
141
+ /// This type defines the %Beamable %Promise.
142
+ ///
143
+ /// A promise is an object that may produce a single value some time in the future:
144
+ /// either a resolved value, or a reason that it’s not resolved (e.g., a network error occurred).
145
+ ///
146
+ /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
147
+ ///
148
+ /// ![img beamable-logo]
149
+ ///
150
+ /// </summary>
151
+ ///
152
+ [AsyncMethodBuilder(typeof(PromiseAsyncMethodBuilder<>))]
153
+ public class Promise<T> : PromiseBase, ICriticalNotifyCompletion
154
+ {
155
+ private Action<T> _callbacks;
156
+ private T _val;
157
+
158
+ /// <summary>
159
+ /// Call to set the value and resolve the %Promise
160
+ /// </summary>
161
+ /// <param name="val"></param>
162
+ public void CompleteSuccess(T val)
163
+ {
164
+ lock (_lock)
165
+ {
166
+ if (done)
167
+ {
168
+ return;
169
+ }
170
+
171
+ _val = val;
172
+ done = true;
173
+ try
174
+ {
175
+ _callbacks?.Invoke(val);
176
+ }
177
+ catch (Exception e)
178
+ {
179
+ BeamableLogger.LogException(e);
180
+ }
181
+
182
+ _callbacks = null;
183
+ errbacks = null;
184
+ }
185
+ }
186
+
187
+ /// <summary>
188
+ /// Call to throw an exception and resolve the %Promise
189
+ /// </summary>
190
+ /// <param name="ex">exception to complete Promise with</param>
191
+ public void CompleteError(Exception ex)
192
+ {
193
+ lock (_lock)
194
+ {
195
+ if (done)
196
+ {
197
+ return;
198
+ }
199
+
200
+ err = ex;
201
+ if (err.StackTrace == null)
202
+ {
203
+ err.SetStackTrace(new StackTrace());
204
+ }
205
+ done = true;
206
+ errInfo = ExceptionDispatchInfo.Capture(err);
207
+
208
+ try
209
+ {
210
+ if (!HadAnyErrbacks)
211
+ {
212
+ InvokeUncaughtPromise();
213
+ }
214
+ else
215
+ {
216
+ errbacks?.Invoke(ex);
217
+ }
218
+ }
219
+ catch (Exception e)
220
+ {
221
+ BeamableLogger.LogException(e);
222
+ }
223
+
224
+ _callbacks = null;
225
+ errbacks = null;
226
+ }
227
+ }
228
+
229
+ /// <summary>
230
+ /// Call to register a success completion handler callback for the %Promise
231
+ /// </summary>
232
+ /// <param name="callback"></param>
233
+ public Promise<T> Then(Action<T> callback)
234
+ {
235
+ lock (_lock)
236
+ {
237
+ if (done)
238
+ {
239
+ if (err == null)
240
+ {
241
+ try
242
+ {
243
+ callback(_val);
244
+ }
245
+ catch (Exception e)
246
+ {
247
+ BeamableLogger.LogException(e);
248
+ }
249
+ }
250
+ else
251
+ {
252
+ // maybe there is no error handler for this guy...
253
+ if (!HadAnyErrbacks)
254
+ {
255
+ InvokeUncaughtPromise();
256
+ }
257
+ }
258
+ }
259
+ else
260
+ {
261
+ _callbacks += callback;
262
+ }
263
+ }
264
+
265
+ return this;
266
+ }
267
+
268
+ /// <summary>
269
+ /// Combine the outcome of this promise with the given promise.
270
+ /// If this promise completes, the given promise will complete.
271
+ /// If this promise fails, the given promise will fail.
272
+ /// </summary>
273
+ /// <param name="other">Some promise other than this promise.</param>
274
+ /// <returns>The current promise instance</returns>
275
+ public Promise<T> Merge(Promise<T> other)
276
+ {
277
+ Then(other.CompleteSuccess);
278
+ Error(other.CompleteError);
279
+ return this;
280
+ }
281
+
282
+ public Promise<T> Merge(Promise other)
283
+ {
284
+ Then(x => other.CompleteSuccess(Unit));
285
+ Error(other.CompleteError);
286
+ return this;
287
+ }
288
+
289
+ /// <summary>
290
+ /// Call to register a failure completion handler callback for the %Promise
291
+ /// </summary>
292
+ /// <param name="errback"></param>
293
+ public Promise<T> Error(Action<Exception> errback)
294
+ {
295
+ lock (_lock)
296
+ {
297
+ HadAnyErrbacks = true;
298
+ if (done)
299
+ {
300
+ if (err != null)
301
+ {
302
+ try
303
+ {
304
+ errback(err);
305
+ }
306
+ catch (Exception e)
307
+ {
308
+ BeamableLogger.LogException(e);
309
+ }
310
+ }
311
+ }
312
+ else
313
+ {
314
+ errbacks += errback;
315
+ }
316
+ }
317
+
318
+ return this;
319
+ }
320
+
321
+ /// <summary>
322
+ /// Takes a promise of type A, and returns a promise of
323
+ /// type B with a conversion applied.
324
+ /// </summary>
325
+ /// <param name="callback"></param>
326
+ /// <typeparam name="TU"></typeparam>
327
+ /// <returns></returns>
328
+ public Promise<TU> Map<TU>(Func<T, TU> callback)
329
+ {
330
+ var result = new Promise<TU>();
331
+ // need to forward the error handles of this one, to the next one.x
332
+ // result.Error(err => errbacks?.Invoke(err));
333
+ Then(value =>
334
+ {
335
+ try
336
+ {
337
+ var nextResult = callback(value);
338
+ result.CompleteSuccess(nextResult);
339
+ }
340
+ catch (Exception ex)
341
+ {
342
+ result.CompleteError(ex);
343
+ }
344
+ })
345
+ .Error(ex => result.CompleteError(ex))
346
+ ;
347
+ return result;
348
+ }
349
+
350
+ /// <summary>
351
+ /// Takes a promise of type A, and returns a promise of
352
+ /// type B with a conversion applied and the promise hierarchy is flattened.
353
+ /// </summary>
354
+ /// <param name="callback"></param>
355
+ /// <param name="factory"></param>
356
+ /// <typeparam name="PromiseU"></typeparam>
357
+ /// <typeparam name="U"></typeparam>
358
+ /// <returns></returns>
359
+ public PromiseU FlatMap<PromiseU, U>(Func<T, PromiseU> callback, Func<PromiseU> factory)
360
+ where PromiseU : Promise<U>
361
+ {
362
+ var pu = factory();
363
+ FlatMap(callback)
364
+ .Then(pu.CompleteSuccess)
365
+ .Error(pu.CompleteError);
366
+ return pu;
367
+ }
368
+
369
+ /// <summary>
370
+ /// Takes a promise of type A, and returns a promise of
371
+ /// type B with a conversion applied and the promise hierarchy is flattened.
372
+ /// </summary>
373
+ /// <param name="callback"></param>
374
+ /// <typeparam name="TU"></typeparam>
375
+ /// <returns></returns>
376
+ public Promise<TU> FlatMap<TU>(Func<T, Promise<TU>> callback)
377
+ {
378
+ var result = new Promise<TU>();
379
+ Then(value =>
380
+ {
381
+ try
382
+ {
383
+ callback(value)
384
+ .Then(valueInner => result.CompleteSuccess(valueInner))
385
+ .Error(ex => result.CompleteError(ex));
386
+ }
387
+ catch (Exception ex)
388
+ {
389
+ result.CompleteError(ex);
390
+ }
391
+ }).Error(ex => { result.CompleteError(ex); });
392
+ return result;
393
+ }
394
+
395
+ /// <summary>
396
+ /// Call to set the value and resolve the %Promise
397
+ /// </summary>
398
+ /// <param name="value"></param>
399
+ /// <returns></returns>
400
+ public static Promise<T> Successful(T value)
401
+ {
402
+ return new Promise<T>
403
+ {
404
+ done = true,
405
+ _val = value
406
+ };
407
+ }
408
+
409
+ /// <summary>
410
+ /// Call to throw an exception and resolve the %Promise
411
+ /// </summary>
412
+ /// <param name="err"></param>
413
+ /// <returns></returns>
414
+ public static Promise<T> Failed(Exception err)
415
+ {
416
+ if (err?.StackTrace == null)
417
+ {
418
+ err?.SetStackTrace(new StackTrace());
419
+ }
420
+ ExceptionDispatchInfo errInfo = ExceptionDispatchInfo.Capture(err);
421
+ return new Promise<T>
422
+ {
423
+ done = true,
424
+ err = err,
425
+ errInfo = errInfo
426
+ };
427
+ }
428
+
429
+ void ICriticalNotifyCompletion.UnsafeOnCompleted(Action continuation)
430
+ {
431
+ Error(_ => continuation());
432
+ Then(_ => continuation());
433
+ }
434
+
435
+ void INotifyCompletion.OnCompleted(Action continuation)
436
+ {
437
+ ((ICriticalNotifyCompletion)this).UnsafeOnCompleted(continuation);
438
+ }
439
+
440
+ /// <summary>
441
+ /// Get the result of the <see cref="Promise"/>.
442
+ /// </summary>
443
+ /// <returns></returns>
444
+ /// <exception cref="Exception"></exception>
445
+ public T GetResult()
446
+ {
447
+ if (err != null)
448
+ {
449
+ if (RaiseInnerException)
450
+ {
451
+ errInfo.Throw();
452
+ }
453
+ else throw err;
454
+ }
455
+ return _val;
456
+ }
457
+
458
+ /// <summary>
459
+ /// Get the awaiter of the <see cref="Promise"/>.
460
+ /// Once an awaiter is established, this promise will never raise an uncaught exception.
461
+ /// </summary>
462
+ /// <returns></returns>
463
+ /// <exception cref="Exception"></exception>
464
+ public Promise<T> GetAwaiter()
465
+ {
466
+ Error((ex) =>
467
+ {
468
+ // remove the ability for an uncaught exception to raise. As an awaiter, the .GetResult() method will trigger, which will THROW an error if one exists.
469
+ });
470
+ return this;
471
+ }
472
+
473
+ }
474
+
475
+ public static class ExceptionUtilities
476
+ {
477
+ private static readonly FieldInfo STACK_TRACE_STRING_FI = typeof(Exception).GetField("_stackTraceString", BindingFlags.NonPublic | BindingFlags.Instance);
478
+ private static readonly Type TRACE_FORMAT_TI = Type.GetType("System.Diagnostics.StackTrace").GetNestedType("TraceFormat", BindingFlags.NonPublic);
479
+ private static readonly MethodInfo TRACE_TO_STRING_MI = typeof(StackTrace).GetMethod("ToString", BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { TRACE_FORMAT_TI }, null);
480
+
481
+ public static Exception SetStackTrace(this Exception target, StackTrace stack)
482
+ {
483
+ var getStackTraceString = TRACE_TO_STRING_MI.Invoke(stack, new object[] { Enum.GetValues(TRACE_FORMAT_TI).GetValue(0) });
484
+ STACK_TRACE_STRING_FI.SetValue(target, getStackTraceString);
485
+ return target;
486
+ }
487
+ }
488
+ public class PromiseException : Exception
489
+ {
490
+ public PromiseException(Exception inner) : base($"Promise failed with exception {inner.Message}", inner)
491
+ {
492
+
493
+ }
494
+ }
495
+
496
+ /// <summary>
497
+ /// This type defines the %Beamable %SequencePromise.
498
+ ///
499
+ /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
500
+ ///
501
+ /// #### Related Links
502
+ /// - See Beamable.Common.Promise script reference
503
+ ///
504
+ /// ![img beamable-logo]
505
+ ///
506
+ /// </summary>
507
+ public class SequencePromise<T> : Promise<IList<T>>
508
+ {
509
+ private Action<SequenceEntryException> _entryErrorCallbacks;
510
+ private Action<SequenceEntrySuccess<T>> _entrySuccessCallbacks;
511
+
512
+ private ConcurrentBag<SequenceEntryException> _errors = new ConcurrentBag<SequenceEntryException>();
513
+ private ConcurrentBag<SequenceEntrySuccess<T>> _successes = new ConcurrentBag<SequenceEntrySuccess<T>>();
514
+
515
+ private ConcurrentDictionary<int, object> _indexToResult = new ConcurrentDictionary<int, object>();
516
+
517
+ /// <summary>
518
+ /// The current count of successful promises
519
+ /// </summary>
520
+ public int SuccessCount => _successes.Count;
521
+
522
+ /// <summary>
523
+ /// The current count of failed promises
524
+ /// </summary>
525
+ public int ErrorCount => _errors.Count;
526
+
527
+ /// <summary>
528
+ /// The current count of completed promises
529
+ /// </summary>
530
+ public int Total => _errors.Count + _successes.Count;
531
+
532
+ /// <summary>
533
+ /// The number of promises that this sequence represents
534
+ /// </summary>
535
+ public int Count { get; }
536
+
537
+ /// <summary>
538
+ /// The ratio of completed promises to total promises. This will be 1 when all promises have completed.
539
+ /// </summary>
540
+ public float Ratio => HasProcessedAllEntries ? 1 : Total / (float)Count;
541
+
542
+ /// <summary>
543
+ /// True when all promises have completed; false otherwise
544
+ /// </summary>
545
+ public bool HasProcessedAllEntries => Total == Count;
546
+
547
+ /// <summary>
548
+ /// An enumeration of the successful results. There will be a <typeparamref name="T"/> for each successful promise.
549
+ /// </summary>
550
+ public IEnumerable<T> SuccessfulResults => _successes.Select(s => s.Result);
551
+
552
+ public SequencePromise(int count)
553
+ {
554
+ Count = count;
555
+ if (Count == 0)
556
+ {
557
+ CompleteSuccess();
558
+ }
559
+ }
560
+
561
+ /// <summary>
562
+ /// Attach a callback that will trigger anytime a promise fails
563
+ /// </summary>
564
+ /// <param name="handler">A callback that will be given a <see cref="SequenceEntryException"/> everytime a promise fails</param>
565
+ /// <returns>This instance</returns>
566
+ public SequencePromise<T> OnElementError(Action<SequenceEntryException> handler)
567
+ {
568
+ foreach (var existingError in _errors)
569
+ {
570
+ handler?.Invoke(existingError);
571
+ }
572
+
573
+ _entryErrorCallbacks += handler;
574
+ return this;
575
+ }
576
+
577
+ /// <summary>
578
+ /// Attach a callback that will trigger anytime a promise succeeds
579
+ /// </summary>
580
+ /// <param name="handler">A callback that will be given a <see cref="SequenceEntrySuccess{T}"/> everytime a promise succeeds</param>
581
+ /// <returns>This instance</returns>
582
+ public SequencePromise<T> OnElementSuccess(Action<SequenceEntrySuccess<T>> handler)
583
+ {
584
+ foreach (var success in _successes)
585
+ {
586
+ handler?.Invoke(success);
587
+ }
588
+
589
+ _entrySuccessCallbacks += handler;
590
+ return this;
591
+ }
592
+
593
+ /// <summary>
594
+ /// Mark the entire sequence promise as complete
595
+ /// </summary>
596
+ public void CompleteSuccess()
597
+ {
598
+ base.CompleteSuccess(SuccessfulResults.ToList());
599
+ }
600
+
601
+ /// <summary>
602
+ /// When a promise has failed, report the failure.
603
+ /// One failed promise will cause the entire sequence promise to be considered a failed promise.
604
+ /// </summary>
605
+ /// <param name="exception">The <see cref="SequenceEntryException"/> that occured</param>
606
+ public void ReportEntryError(SequenceEntryException exception)
607
+ {
608
+ if (_indexToResult.ContainsKey(exception.Index) || exception.Index >= Count) return;
609
+
610
+ _errors.Add(exception);
611
+ _indexToResult.TryAdd(exception.Index, exception);
612
+ _entryErrorCallbacks?.Invoke(exception);
613
+
614
+ CompleteError(exception.InnerException);
615
+ }
616
+
617
+ /// <summary>
618
+ /// When a promise has succeeded, report the success.
619
+ /// All promises must report success for the entire sequence promise to succeed.
620
+ /// </summary>
621
+ /// <param name="success">The <see cref="SequenceEntrySuccess{T}"/> that occured</param>
622
+ public void ReportEntrySuccess(SequenceEntrySuccess<T> success)
623
+ {
624
+ if (_indexToResult.ContainsKey(success.Index) || success.Index >= Count) return;
625
+
626
+ _successes.Add(success);
627
+ _indexToResult.TryAdd(success.Index, success);
628
+ _entrySuccessCallbacks?.Invoke(success);
629
+
630
+ if (HasProcessedAllEntries)
631
+ {
632
+ CompleteSuccess();
633
+ }
634
+ }
635
+
636
+ /// <summary>
637
+ /// <inheritdoc cref="ReportEntrySuccess(Beamable.Common.SequenceEntrySuccess{T})"/>
638
+ /// </summary>
639
+ /// <param name="index">The promise index that succeeded.</param>
640
+ /// <param name="result">The success value of the promise</param>
641
+ public void ReportEntrySuccess(int index, T result) =>
642
+ ReportEntrySuccess(new SequenceEntrySuccess<T>(index, result));
643
+
644
+ /// <summary>
645
+ /// <inheritdoc cref="ReportEntryError(Beamable.Common.SequenceEntryException)"/>
646
+ /// </summary>
647
+ /// <param name="index">The promise index that failed</param>
648
+ /// <param name="err">The exception that failed the promise</param>
649
+ public void ReportEntryError(int index, Exception err) =>
650
+ ReportEntryError(new SequenceEntryException(index, err));
651
+ }
652
+
653
+ // Do not add doxygen comments to "public static class Promise" because
654
+ // it confuses this with the doxygen output with "public class Promise" - srivello
655
+ [AsyncMethodBuilder(typeof(PromiseAsyncMethodBuilder))]
656
+ public class Promise : Promise<Unit>
657
+ {
658
+ public static Promise Success { get; } = new Promise { done = true };
659
+
660
+ public void CompleteSuccess() => CompleteSuccess(PromiseBase.Unit);
661
+
662
+
663
+ /// <summary>
664
+ /// This function accepts a generator that will produce a promise, and then
665
+ /// that promise will be executed.
666
+ ///
667
+ /// If the promise fails, the <paramref name="shouldRetry"/> callback will be executed
668
+ /// with the Exception that caused the promise to fail. If the callback returns
669
+ /// `true`, then the generator function will be re-invoked to generate a new promise
670
+ /// instance.
671
+ ///
672
+ /// This loop continues until the promise succeeds, the callback returns false,
673
+ /// or the callback has been called <paramref name="maxAttempts"/> times.
674
+ /// </summary>
675
+ /// <param name="promiseGenerator"></param>
676
+ /// <param name="shouldRetry"></param>
677
+ /// <param name="maxAttempts"></param>
678
+ /// <typeparam name="T"></typeparam>
679
+ /// <returns></returns>
680
+ /// <exception cref="InvalidOperationException"></exception>
681
+ public static async Promise<T> RetryPromise<T>(Func<Promise<T>> promiseGenerator, Func<Exception, bool> shouldRetry, int maxAttempts = 1000)
682
+ {
683
+ Exception lastEx = null;
684
+ while (maxAttempts-- > 0)
685
+ {
686
+ try
687
+ {
688
+ var promise = promiseGenerator();
689
+ var result = await promise;
690
+ return result;
691
+ }
692
+ catch (Exception ex)
693
+ {
694
+ lastEx = ex;
695
+ if (!shouldRetry(ex))
696
+ {
697
+ throw;
698
+ }
699
+ }
700
+ }
701
+
702
+ throw new InvalidOperationException("promise failed to complete after maximum retry count", lastEx);
703
+ }
704
+
705
+
706
+ /// <summary>
707
+ /// Create a <see cref="SequencePromise{T}"/> from List of <see cref="Promise{T}"/>
708
+ /// </summary>
709
+ /// <param name="promises"></param>
710
+ /// <typeparam name="T"></typeparam>
711
+ /// <returns></returns>
712
+ public static SequencePromise<T> ObservableSequence<T>(IList<Promise<T>> promises)
713
+ {
714
+ var result = new SequencePromise<T>(promises.Count);
715
+
716
+ if (promises == null || promises.Count == 0)
717
+ {
718
+ result.CompleteSuccess();
719
+ return result;
720
+ }
721
+
722
+ for (var i = 0; i < promises.Count; i++)
723
+ {
724
+ var index = i;
725
+ promises[i].Then(reply =>
726
+ {
727
+ result.ReportEntrySuccess(new SequenceEntrySuccess<T>(index, reply));
728
+
729
+ if (result.Total == promises.Count)
730
+ {
731
+ result.CompleteSuccess();
732
+ }
733
+ }).Error(err =>
734
+ {
735
+ result.ReportEntryError(new SequenceEntryException(index, err));
736
+ result.CompleteError(err);
737
+ });
738
+ }
739
+
740
+ return result;
741
+ }
742
+
743
+ /// <summary>
744
+ /// Create a <see cref="Promise"/> of List from a List of <see cref="Promise"/>s.
745
+ /// </summary>
746
+ /// <param name="promises"></param>
747
+ /// <typeparam name="T"></typeparam>
748
+ /// <returns></returns>
749
+ public static Promise<List<T>> Sequence<T>(IList<Promise<T>> promises)
750
+ {
751
+ var result = new Promise<List<T>>();
752
+ var replies = new List<T>();
753
+ var completeCount = new AtomicInt();
754
+ for (var i = 0; i < promises.Count; i++)
755
+ {
756
+ replies.Add(default);
757
+ }
758
+
759
+ if (promises.Count == 0)
760
+ {
761
+ result.CompleteSuccess(replies);
762
+ return result;
763
+ }
764
+
765
+ for (var i = 0; i < promises.Count; i++)
766
+ {
767
+ var index = i;
768
+
769
+ promises[index].Then(reply =>
770
+ {
771
+ replies[index] = reply;
772
+ completeCount.Increment();
773
+
774
+ if (completeCount.Value == promises.Count)
775
+ {
776
+ result.CompleteSuccess(replies);
777
+ }
778
+ }).Error(err => result.CompleteError(err));
779
+ }
780
+
781
+ return result;
782
+ }
783
+
784
+ /// <summary>
785
+ /// Create Sequence <see cref="Promise"/> from an array of <see cref="Promise"/>s.
786
+ /// </summary>
787
+ /// <param name="promises"></param>
788
+ /// <typeparam name="T"></typeparam>
789
+ /// <returns></returns>
790
+ public static Promise<List<T>> Sequence<T>(params Promise<T>[] promises)
791
+ {
792
+ return Sequence((IList<Promise<T>>)promises);
793
+ }
794
+
795
+ /// <summary>
796
+ /// Given a list of promise generator functions, process the whole list, but serially.
797
+ /// Only one promise will be active at any given moment.
798
+ /// </summary>
799
+ /// <param name="generators"></param>
800
+ /// <param name="stopWhen"></param>
801
+ /// <typeparam name="T"></typeparam>
802
+ /// <returns>A single promise of Unit to represent the completion of the processing. Any other side effects need to be handled separately</returns>
803
+ public static Promise<Unit> ExecuteSerially<T>(List<Func<Promise<T>>> generators, Func<bool> stopWhen = null)
804
+ {
805
+ #if DISABLE_THREADING // unity doesn't supporting System.Threading
806
+ // use a tail recursion approach. It'll stink for massive lists, but at least it works for small ones
807
+ if (generators.Count == 0)
808
+ {
809
+ return PromiseBase.SuccessfulUnit;
810
+ }
811
+ var first = generators.First();
812
+ var rest = generators.Skip(1).ToList();
813
+ return first().FlatMap(_ => ExecuteSerially<T>(rest));
814
+ #else
815
+ async System.Threading.Tasks.Task Execute()
816
+ {
817
+ for (var i = 0; i < generators.Count; i++)
818
+ {
819
+ if (stopWhen != null && stopWhen())
820
+ {
821
+ break;
822
+ }
823
+
824
+ var generator = generators[i];
825
+ var promise = generator();
826
+ await promise;
827
+ }
828
+ }
829
+
830
+ return Execute().ToPromise();
831
+ #endif
832
+ }
833
+
834
+ private interface IAtomicInt
835
+ {
836
+ int Value { get; }
837
+ void Increment();
838
+ void Decrement();
839
+ }
840
+
841
+ #if DISABLE_THREADING
842
+ private class AtomicInt : IAtomicInt
843
+ {
844
+ public int Value { get; private set; }
845
+ public void Increment()
846
+ {
847
+ Value++;
848
+ }
849
+
850
+ public void Decrement()
851
+ {
852
+ Value--;
853
+ }
854
+ }
855
+ #else
856
+ private class AtomicInt : IAtomicInt
857
+ {
858
+ private int v;
859
+
860
+ public int Value => System.Threading.Interlocked.CompareExchange(ref v, 0, 0);
861
+
862
+ public void Increment()
863
+ {
864
+ System.Threading.Interlocked.Increment(ref v);
865
+ }
866
+
867
+ public void Decrement()
868
+ {
869
+ System.Threading.Interlocked.Decrement(ref v);
870
+ }
871
+ }
872
+ #endif
873
+
874
+ /// <summary>
875
+ /// Given a list of promise generator functions, process the list, but in a rolling fashion.
876
+ /// </summary>
877
+ /// <param name="maxProcessSize"></param>
878
+ /// <param name="generators"></param>
879
+ /// <param name="stopWhen"></param>
880
+ /// <typeparam name="T"></typeparam>
881
+ /// <returns></returns>
882
+ [Obsolete("This method isn't safe to use one devices with low callstack limits like Javascript, or Android. Use " + nameof(ExecuteInBatchSequence) + " instead.")]
883
+ public static SequencePromise<T> ExecuteRolling<T>(int maxProcessSize, List<Func<Promise<T>>> generators, Func<bool> stopWhen = null)
884
+ {
885
+ return ExecuteInBatchSequence(maxProcessSize, generators, stopWhen);
886
+ }
887
+
888
+ /// <summary>
889
+ /// Given a list of promise generator functions, process the list, but in batches of some size.
890
+ /// The batches themselves will run one at a time. Every promise in the current batch must finish before the next batch can start.
891
+ /// </summary>
892
+ /// <param name="maxBatchSize"></param>
893
+ /// <param name="generators"></param>
894
+ /// <typeparam name="T"></typeparam>
895
+ /// <returns>A single promise of Unit to represent the completion of the processing. Any other side effects need to be handled separately</returns>
896
+ public static Promise<Unit> ExecuteInBatch<T>(int maxBatchSize, List<Func<Promise<T>>> generators)
897
+ {
898
+ var batches = new List<List<Func<Promise<T>>>>();
899
+
900
+ // create batches...
901
+ for (var i = 0; i < generators.Count; i += maxBatchSize)
902
+ {
903
+ var start = i;
904
+ var minBatchSize = generators.Count - start;
905
+ var count = minBatchSize < maxBatchSize ? minBatchSize : maxBatchSize; // min()
906
+ var batch = generators.GetRange(start, count);
907
+ batches.Add(batch);
908
+ }
909
+
910
+ Promise<List<T>> ProcessBatch(List<Func<Promise<T>>> batch)
911
+ {
912
+ // start all generators in batch...
913
+ return Promise.Sequence(batch.Select(generator => generator()).ToList());
914
+ }
915
+
916
+ // run each batch, serially...
917
+ var batchRunners = batches.Select(batch => new Func<Promise<List<T>>>(() => ProcessBatch(batch))).ToList();
918
+
919
+ return ExecuteSerially(batchRunners);
920
+ }
921
+
922
+ public static SequencePromise<T> ExecuteInBatchSequence<T>(int maxBatchSize, List<Func<Promise<T>>> generators, Func<bool> stopWhen = null)
923
+ {
924
+ var batches = new List<List<Func<Promise<T>>>>();
925
+
926
+ var seq = new SequencePromise<T>(generators.Count);
927
+ var current = new AtomicInt();
928
+ // create batches...
929
+ for (var i = 0; i < generators.Count; i += maxBatchSize)
930
+ {
931
+ var start = i;
932
+ var minBatchSize = generators.Count - start;
933
+ var count = minBatchSize < maxBatchSize ? minBatchSize : maxBatchSize; // min()
934
+ var batch = generators.GetRange(start, count);
935
+ batches.Add(batch);
936
+ }
937
+
938
+ Promise<List<T>> ProcessBatch(List<Func<Promise<T>>> batch)
939
+ {
940
+ // start all generators in batch...
941
+ return Promise.Sequence(batch.Select(generator =>
942
+ {
943
+ var promise = generator();
944
+ var index = current.Value;
945
+ current.Increment();
946
+ promise.Then(res => seq.ReportEntrySuccess(index, res))
947
+ .Error(err => seq.ReportEntryError(index, err));
948
+ return promise;
949
+ }).ToList());
950
+ }
951
+
952
+ // run each batch, serially...
953
+ var batchRunners = batches.Select(batch => new Func<Promise<List<T>>>(() => ProcessBatch(batch))).ToList();
954
+
955
+ ExecuteSerially(batchRunners, stopWhen);
956
+ return seq;
957
+ }
958
+ }
959
+
960
+ /// <summary>
961
+ /// This type defines the static %Beamable %SequenceEntryException.
962
+ ///
963
+ /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
964
+ ///
965
+ /// #### Related Links
966
+ /// - See Beamable.Common.Promise script reference
967
+ ///
968
+ /// ![img beamable-logo]
969
+ ///
970
+ /// </summary>
971
+ public class SequenceEntryException : Exception
972
+ {
973
+ public int Index { get; }
974
+
975
+ public SequenceEntryException(int index, Exception inner) : base($"index[{index}]. {inner.Message}", inner)
976
+ {
977
+ Index = index;
978
+ }
979
+ }
980
+
981
+ /// <summary>
982
+ /// This type defines the static %Beamable %SequenceEntrySuccess.
983
+ ///
984
+ /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
985
+ ///
986
+ /// #### Related Links
987
+ /// - See Beamable.Common.Promise script reference
988
+ ///
989
+ /// ![img beamable-logo]
990
+ ///
991
+ /// </summary>
992
+ public class SequenceEntrySuccess<T>
993
+ {
994
+ public int Index { get; private set; }
995
+ public T Result { get; private set; }
996
+
997
+ public SequenceEntrySuccess(int index, T result)
998
+ {
999
+ Index = index;
1000
+ Result = result;
1001
+ }
1002
+ }
1003
+
1004
+ /// <summary>
1005
+ /// This type defines the static %Beamable %PromiseExtensions.
1006
+ ///
1007
+ /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
1008
+ ///
1009
+ /// #### Related Links
1010
+ /// - See Beamable.Common.Promise script reference
1011
+ ///
1012
+ /// ![img beamable-logo]
1013
+ ///
1014
+ /// </summary>
1015
+ public static class PromiseExtensions
1016
+ {
1017
+ /// <summary>
1018
+ /// Create a new promise that potentially recovers from a failure that occurs in the given promise.
1019
+ /// If the given promise succeeds, this method's returned promise will succeed with the same value.
1020
+ /// If the given promise fails, the exception will be passed to the callback, and this method's returned promise will succeed
1021
+ /// or fail based on the return value of the callback. If the callback returns a <typeparamref name="T"/>, then the returned promise
1022
+ /// will succeed with that value. If the callback throws the same exception, or raises a new one, then the returned promise
1023
+ /// will fail with the given exception.
1024
+ /// </summary>
1025
+ /// <param name="promise">A promise</param>
1026
+ /// <param name="callback">A recovery function</param>
1027
+ /// <typeparam name="T">The type of the promise</typeparam>
1028
+ /// <returns>A new promise that may recover from a potential failure in the given promise</returns>
1029
+ public static Promise<T> Recover<T>(this Promise<T> promise, Func<Exception, T> callback)
1030
+ {
1031
+ var result = new Promise<T>();
1032
+ promise.Then(value => result.CompleteSuccess(value))
1033
+ .Error(err =>
1034
+ {
1035
+ try
1036
+ {
1037
+ result.CompleteSuccess(callback(err));
1038
+ }
1039
+ catch (Exception ex)
1040
+ {
1041
+ result.CompleteError(ex);
1042
+ }
1043
+ });
1044
+ return result;
1045
+ }
1046
+
1047
+ /// <summary>
1048
+ /// Similar to <see cref="Recover{T}"/>.
1049
+ /// However, The callback returns a <see cref="Promise{T}"/> instead of a <typeparamref name="T"/> directly.
1050
+ /// </summary>
1051
+ /// <param name="promise">A promise</param>
1052
+ /// <param name="callback">A recovery function</param>
1053
+ /// <typeparam name="T">The type of the promise</typeparam>
1054
+ /// <returns>A new promise that may recover from a potential failure in the given promise</returns>
1055
+ public static Promise<T> RecoverWith<T>(this Promise<T> promise, Func<Exception, Promise<T>> callback)
1056
+ {
1057
+ var result = new Promise<T>();
1058
+ promise.Then(value => result.CompleteSuccess(value)).Error(err =>
1059
+ {
1060
+ try
1061
+ {
1062
+ var nextPromise = callback(err);
1063
+ nextPromise.Then(value => result.CompleteSuccess(value)).Error(errInner =>
1064
+ {
1065
+ result.CompleteError(errInner);
1066
+ });
1067
+ }
1068
+ catch (Exception ex)
1069
+ {
1070
+ result.CompleteError(ex);
1071
+ }
1072
+ });
1073
+ return result;
1074
+ }
1075
+
1076
+ public static Promise<T> ReportInnerException<T>(this Promise<T> promise, bool raiseInnerException = true)
1077
+ {
1078
+ promise.RaiseInnerException = raiseInnerException;
1079
+ return promise;
1080
+ }
1081
+
1082
+ #if !UNITY_WEBGL || UNITY_EDITOR // webgl does not support the system.threading library
1083
+ /// <summary>
1084
+ /// Convert <see cref="System.Threading.Tasks.Task"/> to <see cref="Promise{Unit}"/>.
1085
+ /// </summary>
1086
+ /// <param name="task"></param>
1087
+ /// <returns></returns>
1088
+ public static Promise<Unit> ToPromise(this System.Threading.Tasks.Task task)
1089
+ {
1090
+ var promise = new Promise<Unit>();
1091
+
1092
+ async System.Threading.Tasks.Task Helper()
1093
+ {
1094
+ try
1095
+ {
1096
+ await task;
1097
+ promise.CompleteSuccess(PromiseBase.Unit);
1098
+
1099
+ }
1100
+ catch (Exception ex)
1101
+ {
1102
+ promise.CompleteError(ex);
1103
+ }
1104
+ }
1105
+
1106
+ var _ = Helper();
1107
+
1108
+ return promise;
1109
+ }
1110
+
1111
+ /// <summary>
1112
+ /// Convert <see cref="System.Threading.Tasks.Task{T}"/> to <see cref="Promise{T}"/>.
1113
+ /// </summary>
1114
+ /// <param name="task"></param>
1115
+ /// <typeparam name="T"></typeparam>
1116
+ /// <returns></returns>
1117
+ public static Promise<T> ToPromise<T>(this System.Threading.Tasks.Task<T> task)
1118
+ {
1119
+ var promise = new Promise<T>();
1120
+
1121
+ async System.Threading.Tasks.Task Helper()
1122
+ {
1123
+ try
1124
+ {
1125
+ var result = await task;
1126
+ promise.CompleteSuccess(result);
1127
+ }
1128
+ catch (Exception ex)
1129
+ {
1130
+ promise.CompleteError(ex);
1131
+ }
1132
+ }
1133
+
1134
+ var _ = Helper();
1135
+
1136
+ return promise;
1137
+ }
1138
+ #endif
1139
+
1140
+ /// <summary>
1141
+ /// Convert the given promise to a <see cref="Promise{Unit}"/>
1142
+ /// </summary>
1143
+ /// <param name="self">some promise of type <typeparamref name="T"/></param>
1144
+ /// <typeparam name="T">some type</typeparam>
1145
+ /// <returns>A promise of type Unit</returns>
1146
+ public static Promise<Unit> ToUnit<T>(this Promise<T> self)
1147
+ {
1148
+ return self.Map(_ => PromiseBase.Unit);
1149
+ }
1150
+
1151
+ /// <summary>
1152
+ /// Create a new promise that strips away the generic type information of the given promise.
1153
+ /// </summary>
1154
+ /// <param name="self">Some promise</param>
1155
+ /// <typeparam name="T">some type</typeparam>
1156
+ /// <returns>A typeless promise</returns>
1157
+ public static Promise ToPromise<T>(this Promise<T> self)
1158
+ {
1159
+ var p = new Promise();
1160
+ self.Then(_ => p.CompleteSuccess(PromiseBase.Unit));
1161
+ self.Error(p.CompleteError);
1162
+ return p;
1163
+ }
1164
+ }
1165
+
1166
+ /// <summary>
1167
+ /// This type defines the static %Beamable %UncaughtPromiseException.
1168
+ ///
1169
+ /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
1170
+ ///
1171
+ /// #### Related Links
1172
+ /// - See Beamable.Common.Promise script reference
1173
+ ///
1174
+ /// ![img beamable-logo]
1175
+ ///
1176
+ /// </summary>
1177
+ public class UncaughtPromiseException : Exception
1178
+ {
1179
+ public PromiseBase Promise { get; }
1180
+
1181
+ public UncaughtPromiseException(PromiseBase promise, Exception ex) : base(
1182
+ $"Uncaught promise innerMsg=[{ex.Message}] innerType=[{ex?.GetType()?.Name}] ", ex)
1183
+ {
1184
+ Promise = promise;
1185
+ }
1186
+ }
1187
+
1188
+ /// <summary>
1189
+ /// This type defines the struct %Beamable %Unit.
1190
+ ///
1191
+ /// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
1192
+ ///
1193
+ /// #### Related Links
1194
+ /// - See Beamable.Common.Promise script reference
1195
+ ///
1196
+ /// ![img beamable-logo]
1197
+ ///
1198
+ /// </summary>
1199
+ public readonly struct Unit
1200
+ {
1201
+ }
1202
+
1203
+ /// <summary>
1204
+ /// https://github.com/dotnet/roslyn/blob/main/docs/features/task-types.md
1205
+ /// https://referencesource.microsoft.com/#mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs
1206
+ /// </summary>
1207
+ /// <typeparam name="T"></typeparam>
1208
+ public sealed class PromiseAsyncMethodBuilder<T>
1209
+ {
1210
+ private IAsyncStateMachine _stateMachine;
1211
+ private Promise<T> _promise = new Promise<T>(); // TODO: allocation.
1212
+
1213
+ public static PromiseAsyncMethodBuilder<T> Create()
1214
+ {
1215
+ return new PromiseAsyncMethodBuilder<T>();
1216
+ }
1217
+
1218
+ public void SetResult(T res)
1219
+ {
1220
+ _promise.CompleteSuccess(res);
1221
+ }
1222
+
1223
+ public void SetException(Exception ex)
1224
+ {
1225
+ _promise.RaiseInnerException = true;
1226
+ // TODO: there is a bug here, where an "uncaught" exception can still happen even if someone try/catches it.
1227
+ _promise.Error(err => { });
1228
+ _promise.CompleteError(ex);
1229
+ }
1230
+
1231
+ public void SetStateMachine(IAsyncStateMachine machine)
1232
+ {
1233
+ _stateMachine = machine;
1234
+ }
1235
+
1236
+ public void AwaitOnCompleted<TAwaiter, TStateMachine>(
1237
+ ref TAwaiter awaiter, ref TStateMachine stateMachine)
1238
+ where TAwaiter : INotifyCompletion
1239
+ where TStateMachine : IAsyncStateMachine
1240
+ {
1241
+ if (_stateMachine == null)
1242
+ {
1243
+ _stateMachine = stateMachine;
1244
+ _stateMachine.SetStateMachine(stateMachine);
1245
+ }
1246
+
1247
+ awaiter.OnCompleted(() =>
1248
+ {
1249
+ _stateMachine.MoveNext();
1250
+ });
1251
+ }
1252
+
1253
+ public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(
1254
+ ref TAwaiter awaiter, ref TStateMachine stateMachine)
1255
+ where TAwaiter : ICriticalNotifyCompletion
1256
+ where TStateMachine : IAsyncStateMachine
1257
+ {
1258
+ AwaitOnCompleted(ref awaiter, ref stateMachine);
1259
+ }
1260
+
1261
+ public void Start<TStateMachine>(ref TStateMachine stateMachine)
1262
+ where TStateMachine : IAsyncStateMachine
1263
+ {
1264
+ stateMachine.MoveNext();
1265
+ }
1266
+
1267
+ public Promise<T> Task => _promise;
1268
+ }
1269
+
1270
+ public sealed class PromiseAsyncMethodBuilder
1271
+ {
1272
+ private IAsyncStateMachine _stateMachine;
1273
+ private Promise _promise = new Promise(); // TODO: allocation.
1274
+
1275
+ public static PromiseAsyncMethodBuilder Create()
1276
+ {
1277
+ return new PromiseAsyncMethodBuilder();
1278
+ }
1279
+
1280
+ public void SetResult()
1281
+ {
1282
+ _promise.CompleteSuccess(PromiseBase.Unit);
1283
+ }
1284
+
1285
+ public void SetException(Exception ex)
1286
+ {
1287
+ _promise.RaiseInnerException = true;
1288
+ _promise.CompleteError(ex);
1289
+ }
1290
+
1291
+ public void SetStateMachine(IAsyncStateMachine machine)
1292
+ {
1293
+ _stateMachine = machine;
1294
+ }
1295
+
1296
+ public void AwaitOnCompleted<TAwaiter, TStateMachine>(
1297
+ ref TAwaiter awaiter, ref TStateMachine stateMachine)
1298
+ where TAwaiter : INotifyCompletion
1299
+ where TStateMachine : IAsyncStateMachine
1300
+ {
1301
+ if (_stateMachine == null)
1302
+ {
1303
+ _stateMachine = stateMachine;
1304
+ _stateMachine.SetStateMachine(stateMachine);
1305
+ }
1306
+
1307
+ awaiter.OnCompleted(() =>
1308
+ {
1309
+ _stateMachine.MoveNext();
1310
+ });
1311
+ }
1312
+
1313
+ public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(
1314
+ ref TAwaiter awaiter, ref TStateMachine stateMachine)
1315
+ where TAwaiter : ICriticalNotifyCompletion
1316
+ where TStateMachine : IAsyncStateMachine
1317
+ {
1318
+ AwaitOnCompleted(ref awaiter, ref stateMachine);
1319
+ }
1320
+
1321
+ public void Start<TStateMachine>(ref TStateMachine stateMachine)
1322
+ where TStateMachine : IAsyncStateMachine
1323
+ {
1324
+ stateMachine.MoveNext();
1325
+ }
1326
+
1327
+ public Promise Task => _promise;
1328
+ }
1329
+ }