com.beamable 5.0.0-PREVIEW.RC1 → 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 (1869) hide show
  1. package/.attestation.p7m +0 -0
  2. package/CHANGELOG.md +11 -0
  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 -307
  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 -180
  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 -100
  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/BeamEditorWindow.cs +393 -393
  1261. package/Editor/UI/BeamGUI/BeamGUI_Dropdowns.cs +205 -205
  1262. package/Editor/UI/BeamGUI/BeamGUI_Enabled.cs +31 -31
  1263. package/Editor/UI/BeamGUI/BeamGUI_Header.cs +148 -148
  1264. package/Editor/UI/BeamGUI/BeamGUI_Icons.cs +330 -330
  1265. package/Editor/UI/BeamGUI/BeamGUI_LoadingBars.cs +105 -105
  1266. package/Editor/UI/BeamGUI/BeamGUI_PlaceholdTextField.cs +64 -64
  1267. package/Editor/UI/BeamGUI/BeamGUI_PrimaryButton.cs +178 -178
  1268. package/Editor/UI/BeamGUI/BeamGUI_Spinner.cs +30 -30
  1269. package/Editor/UI/BeamGUI/BeamGUI_StaticConstructor.cs +17 -17
  1270. package/Editor/UI/BeamGUI/BeamGUI_Toggle.cs +41 -41
  1271. package/Editor/UI/BeamGUI/PropertyDrawers/HelpBoxDecoratorDrawer.cs +32 -32
  1272. package/Editor/UI/Common/FormConstraint.cs +53 -53
  1273. package/Editor/UI/Common/MediaQueryObjectPropertyDrawer.cs +42 -42
  1274. package/Editor/UI/Common/ReparenterCustomEditor.cs +24 -24
  1275. package/Editor/UI/Config/BeamableSettingsProvider.cs +222 -222
  1276. package/Editor/UI/Config/BeamableSpewSettingsProvider.cs +163 -163
  1277. package/Editor/UI/Config/ConfigManager.cs +207 -207
  1278. package/Editor/UI/Config/Model/ConfigOption.cs +26 -26
  1279. package/Editor/UI/Config/Model/ConfigQuery.cs +114 -114
  1280. package/Editor/UI/ContentWindow/ContentWindow.cs +6 -2
  1281. package/Editor/UI/ContentWindow/ContentWindow_ItemsPanel.cs +24 -19
  1282. package/Editor/UI/ContentWindow/ContentWindow_SnapshotManager.cs +2 -2
  1283. package/Editor/UI/CronExpression/Common/Extensions.cs +23 -23
  1284. package/Editor/UI/CronExpression/DescriptionTypeEnum.cs +18 -18
  1285. package/Editor/UI/CronExpression/ExpressionDescriptor.cs +761 -761
  1286. package/Editor/UI/CronExpression/Localization/CronLocalizationData.cs +77 -77
  1287. package/Editor/UI/CronExpression/Localization/CronLocalizationDatabase.cs +15 -15
  1288. package/Editor/UI/HelpMenuItems.cs +29 -29
  1289. package/Editor/UI/IDelayedActionWindow.cs +10 -10
  1290. package/Editor/UI/LibraryWindow/BeamLibraryWindow.cs +71 -71
  1291. package/Editor/UI/LibraryWindow/BeamLibraryWindow_Main.cs +35 -35
  1292. package/Editor/UI/LibraryWindow/BeamLibraryWindow_Samples.cs +330 -330
  1293. package/Editor/UI/Toolbox/ToolboxWindow.cs +19 -19
  1294. package/Editor/Utility/BeamableAssetDatabase.cs +30 -30
  1295. package/Editor/Utility/BeamableDispatcher.cs +222 -222
  1296. package/Editor/Utility/EditorDebouncer.cs +78 -78
  1297. package/Editor/Utility/EditorFilesystemAccessor.cs +13 -13
  1298. package/Editor/Utility/EditorGUIExtension.cs +148 -148
  1299. package/Editor/Utility/EditorGUIRectController.cs +72 -72
  1300. package/Editor/Utility/FilePathSelectorDrawer.cs +81 -81
  1301. package/Editor/Utility/FileUtils.cs +76 -76
  1302. package/Editor/Utility/PlayerSettingsExtensions.cs +54 -54
  1303. package/Editor/Utility/PromiseEditor.cs +22 -22
  1304. package/Editor/Utility/PropertyDrawerFinder.cs +235 -235
  1305. package/Editor/Utility/ReadonlyIfDrawer.cs +56 -56
  1306. package/Editor/Utility/ShowOnlyDrawer.cs +36 -36
  1307. package/Editor/Utility/TaskUtil.cs +58 -58
  1308. package/Editor/Utility/UnityOtelManager.cs +8 -4
  1309. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/BuildRequests.cs +961 -961
  1310. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/CoroutineClass.cs +1396 -1396
  1311. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/ExceptionHandlers.cs +295 -295
  1312. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/Helpers.cs +1337 -1337
  1313. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/IPubnubUnitTest.cs +31 -31
  1314. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/JSONSerializer.cs +62 -62
  1315. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/LoggingMethod.cs +661 -661
  1316. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/MD5.cs +723 -723
  1317. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/Pubnub.cs +1164 -1164
  1318. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/PubnubCallbacks.cs +464 -464
  1319. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/PubnubCrypto.cs +77 -77
  1320. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/PubnubUnity.cs +2080 -2080
  1321. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/ReconnectState.cs +180 -180
  1322. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/SafeDictionary.cs +204 -204
  1323. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/SharedStringBuilder.cs +23 -23
  1324. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/SharedStringBuilder.cs.meta +2 -2
  1325. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/SubscribeEnvelope.cs +226 -226
  1326. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/Subscription.cs +421 -421
  1327. package/Runtime/3rdParty/PubNub/Scripts/Pubnub/Utility.cs +350 -350
  1328. package/Runtime/3rdParty/UnityUIExtensions/ExtentionMethods.cs +19 -19
  1329. package/Runtime/3rdParty/UnityUIExtensions/Gradient.cs +122 -122
  1330. package/Runtime/3rdParty/UnityUIExtensions/HorizontalScrollSnap.cs +317 -317
  1331. package/Runtime/3rdParty/UnityUIExtensions/IScrollSnap.cs +15 -15
  1332. package/Runtime/3rdParty/UnityUIExtensions/ScrollSnap.cs +573 -573
  1333. package/Runtime/3rdParty/UnityUIExtensions/ScrollSnapBase.cs +615 -615
  1334. package/Runtime/3rdParty/UnityUIExtensions/ScrollSnapScrollbarHelper.cs +56 -56
  1335. package/Runtime/3rdParty/UnityUIExtensions/UI_InfiniteScroll.cs +175 -175
  1336. package/Runtime/3rdParty/VirtualList/Editor/AbstractVirtualListEditor.cs +43 -43
  1337. package/Runtime/3rdParty/VirtualList/Runtime/AbstractVirtualList.cs +388 -388
  1338. package/Runtime/3rdParty/VirtualList/Runtime/IListSource.cs +50 -50
  1339. package/Runtime/3rdParty/VirtualList/Runtime/SimpleSource.cs +81 -81
  1340. package/Runtime/3rdParty/VirtualList/Runtime/VirtualGridList.cs +123 -123
  1341. package/Runtime/3rdParty/VirtualList/Runtime/VirtualHorizontalList.cs +84 -84
  1342. package/Runtime/3rdParty/VirtualList/Runtime/VirtualVerticalList.cs +84 -84
  1343. package/Runtime/3rdParty/WebSocket/WebSocket.cs +866 -866
  1344. package/Runtime/API.cs +267 -267
  1345. package/Runtime/Beam.cs +528 -528
  1346. package/Runtime/BeamContext.cs +1037 -1037
  1347. package/Runtime/Commands/CommandExtensions.cs +26 -26
  1348. package/Runtime/Commands/ICommand.cs +7 -7
  1349. package/Runtime/Connection/BeamableSubscriptionManager.cs +38 -38
  1350. package/Runtime/Connection/IBeamableConnection.cs +30 -30
  1351. package/Runtime/Connection/WebSocketConnection.cs +285 -285
  1352. package/Runtime/Connection/WebSocketConnectionException.cs +9 -9
  1353. package/Runtime/Core/Config/ConfigConsoleCommands.cs +69 -69
  1354. package/Runtime/Core/Config/ConfigConsoleCommands.cs.meta +2 -2
  1355. package/Runtime/Core/Config/ConfigDatabase.cs +253 -253
  1356. package/Runtime/Core/Config/RuntimeConfigProvider.cs +86 -86
  1357. package/Runtime/Core/ConsoleCommands/BeamableConsole.cs +169 -169
  1358. package/Runtime/Core/ConsoleCommands/BeamableConsole.cs.meta +2 -2
  1359. package/Runtime/Core/ConsoleCommands/BeamableConsoleCommandAttribute.cs +27 -27
  1360. package/Runtime/Core/ConsoleCommands/BeamableConsoleCommandProviderAttribute.cs +15 -15
  1361. package/Runtime/Core/ConsoleCommands/BeamableConsoleCommandProviderAttribute.cs.meta +2 -2
  1362. package/Runtime/Core/ConsoleCommands/DefaultConsoleCommands.cs +45 -45
  1363. package/Runtime/Core/ConsoleCommands/DefaultConsoleCommands.cs.meta +2 -2
  1364. package/Runtime/Core/Coroutines/CompletedYieldInstruction.cs +14 -14
  1365. package/Runtime/Core/Coroutines/CoroutineService.cs +115 -115
  1366. package/Runtime/Core/Coroutines/Debouncer.cs +147 -147
  1367. package/Runtime/Core/Coroutines/Yielders.cs +40 -40
  1368. package/Runtime/Core/Extensions/TransformExtensions.cs +118 -118
  1369. package/Runtime/Core/Platform/SDK/AccessToken.cs +151 -151
  1370. package/Runtime/Core/Platform/SDK/AccessTokenStorage.cs +225 -225
  1371. package/Runtime/Core/Platform/SDK/AdvertisingIdentifier/AdvertisingIdentifier.cs +30 -30
  1372. package/Runtime/Core/Platform/SDK/Analytics/AnalyticsTracker.cs +200 -200
  1373. package/Runtime/Core/Platform/SDK/Analytics/Batch/BatchContainer.cs +107 -107
  1374. package/Runtime/Core/Platform/SDK/Analytics/Batch/BatchManager.cs +207 -207
  1375. package/Runtime/Core/Platform/SDK/Analytics/Batch/IBatchContainer.cs +66 -66
  1376. package/Runtime/Core/Platform/SDK/Analytics/Batch/PersistentBatchManager.cs +143 -143
  1377. package/Runtime/Core/Platform/SDK/Analytics/Batch/SerializableBatch.cs +33 -33
  1378. package/Runtime/Core/Platform/SDK/Analytics/Models/BillerPurchaseFailedEvent.cs +16 -16
  1379. package/Runtime/Core/Platform/SDK/Analytics/Models/LoginPanicEvent.cs +19 -19
  1380. package/Runtime/Core/Platform/SDK/Announcements/AnnouncementsService.cs +121 -121
  1381. package/Runtime/Core/Platform/SDK/Auth/AuthService.cs +230 -230
  1382. package/Runtime/Core/Platform/SDK/Auth/DeviceIdResolver.cs +24 -24
  1383. package/Runtime/Core/Platform/SDK/Auth/GCIdentity.cs +24 -24
  1384. package/Runtime/Core/Platform/SDK/Auth/GoogleSignIn.cs +89 -89
  1385. package/Runtime/Core/Platform/SDK/Auth/SignInWithApple.cs +263 -263
  1386. package/Runtime/Core/Platform/SDK/Auth/SignInWithFacebookLimited.cs +112 -112
  1387. package/Runtime/Core/Platform/SDK/Auth/SignInWithGPG.cs +109 -109
  1388. package/Runtime/Core/Platform/SDK/Auth/SignInWithGameCenter.cs +107 -107
  1389. package/Runtime/Core/Platform/SDK/BeamableApiRequester.cs +112 -112
  1390. package/Runtime/Core/Platform/SDK/Caches/OfflineCache.cs +319 -319
  1391. package/Runtime/Core/Platform/SDK/Calendars/CalendarsService.cs +123 -123
  1392. package/Runtime/Core/Platform/SDK/Chat/ChatProvider.cs +190 -190
  1393. package/Runtime/Core/Platform/SDK/Chat/ChatService.cs +61 -61
  1394. package/Runtime/Core/Platform/SDK/Chat/ChatView.cs +292 -292
  1395. package/Runtime/Core/Platform/SDK/Chat/PubNubChatProvider.cs +51 -51
  1396. package/Runtime/Core/Platform/SDK/Chat/PubNubRoom.cs +135 -135
  1397. package/Runtime/Core/Platform/SDK/Chat/Room.cs +121 -121
  1398. package/Runtime/Core/Platform/SDK/CloudData/CloudDataConsoleCommands.cs +52 -52
  1399. package/Runtime/Core/Platform/SDK/CloudData/CloudDataService.cs +24 -24
  1400. package/Runtime/Core/Platform/SDK/CloudSaving/CloudSavingError.cs +14 -14
  1401. package/Runtime/Core/Platform/SDK/CloudSaving/CloudSavingExtensions.cs +82 -82
  1402. package/Runtime/Core/Platform/SDK/CometClientData.cs +44 -44
  1403. package/Runtime/Core/Platform/SDK/CometClientData.cs.meta +2 -2
  1404. package/Runtime/Core/Platform/SDK/Commerce/CommerceConsoleCommands.cs +45 -45
  1405. package/Runtime/Core/Platform/SDK/Commerce/CommerceService.cs +101 -101
  1406. package/Runtime/Core/Platform/SDK/Commerce/ICommerceConfig.cs +19 -19
  1407. package/Runtime/Core/Platform/SDK/Connectivity/Connectivity.cs +238 -238
  1408. package/Runtime/Core/Platform/SDK/Connectivity/IConnectivityChecker.cs +109 -109
  1409. package/Runtime/Core/Platform/SDK/ErrorCode.cs +62 -62
  1410. package/Runtime/Core/Platform/SDK/Events/EventsService.cs +129 -129
  1411. package/Runtime/Core/Platform/SDK/Groups/GroupsService.cs +58 -58
  1412. package/Runtime/Core/Platform/SDK/Gzip.cs +51 -51
  1413. package/Runtime/Core/Platform/SDK/Inventory/InventoryConsoleCommands.cs +65 -65
  1414. package/Runtime/Core/Platform/SDK/Inventory/InventoryService.cs +149 -149
  1415. package/Runtime/Core/Platform/SDK/Inventory/InventoryService.cs.meta +2 -2
  1416. package/Runtime/Core/Platform/SDK/Inventory.meta +2 -2
  1417. package/Runtime/Core/Platform/SDK/Leaderboard/LeaderboardService.cs +31 -31
  1418. package/Runtime/Core/Platform/SDK/Mail/MailService.cs +44 -44
  1419. package/Runtime/Core/Platform/SDK/Matchmaking/Match.cs +46 -46
  1420. package/Runtime/Core/Platform/SDK/Matchmaking/MatchmakingService.cs +450 -450
  1421. package/Runtime/Core/Platform/SDK/Matchmaking/Ticket.cs +36 -36
  1422. package/Runtime/Core/Platform/SDK/Matchmaking/TicketReservationRequest.cs +43 -43
  1423. package/Runtime/Core/Platform/SDK/Matchmaking/TicketReservationResponse.cs +21 -21
  1424. package/Runtime/Core/Platform/SDK/Notification/Internal/AppleLocalNotificationRelay.cs +117 -117
  1425. package/Runtime/Core/Platform/SDK/Notification/Internal/DummyLocalNotificationRelay.cs +33 -33
  1426. package/Runtime/Core/Platform/SDK/Notification/Internal/GoogleLocalNotificationRelay.cs +86 -86
  1427. package/Runtime/Core/Platform/SDK/Notification/Internal/ILocalNotificationRelay.cs +40 -40
  1428. package/Runtime/Core/Platform/SDK/Notification/Internal/IMessageHandler.cs +11 -11
  1429. package/Runtime/Core/Platform/SDK/Notification/Internal/InGameNotification.cs +39 -39
  1430. package/Runtime/Core/Platform/SDK/Notification/Internal/MultiChannelSubscriptionHandler.cs +90 -90
  1431. package/Runtime/Core/Platform/SDK/Notification/NotificationService.cs +505 -505
  1432. package/Runtime/Core/Platform/SDK/Notification/PubnubData.cs +50 -50
  1433. package/Runtime/Core/Platform/SDK/Notification/PubnubSubscriptionManager.cs +668 -668
  1434. package/Runtime/Core/Platform/SDK/Notification/PushProvider.cs +25 -25
  1435. package/Runtime/Core/Platform/SDK/Notification/PushService.cs +74 -74
  1436. package/Runtime/Core/Platform/SDK/Payments/IBeamablePurchaser.cs +62 -62
  1437. package/Runtime/Core/Platform/SDK/Payments/IPaymentServiceOptions.cs +38 -38
  1438. package/Runtime/Core/Platform/SDK/Payments/PaymentErrorCodes.cs +17 -17
  1439. package/Runtime/Core/Platform/SDK/Payments/PaymentModel.cs +75 -75
  1440. package/Runtime/Core/Platform/SDK/Payments/PaymentService.cs +445 -445
  1441. package/Runtime/Core/Platform/SDK/Payments/PaymentTransaction.cs +138 -138
  1442. package/Runtime/Core/Platform/SDK/Payments/TransactionManager.cs +348 -348
  1443. package/Runtime/Core/Platform/SDK/PlatformFilesystemAccessor.cs +14 -14
  1444. package/Runtime/Core/Platform/SDK/PlatformRequester.cs +761 -761
  1445. package/Runtime/Core/Platform/SDK/PlatformRequesterExceptions.cs +31 -31
  1446. package/Runtime/Core/Platform/SDK/PlatformRequesterExtensions.cs +21 -21
  1447. package/Runtime/Core/Platform/SDK/PlatformRequesterInterfaces.cs +29 -29
  1448. package/Runtime/Core/Platform/SDK/PlatformService.cs +81 -81
  1449. package/Runtime/Core/Platform/SDK/PlatformSubscribable.cs +621 -621
  1450. package/Runtime/Core/Platform/SDK/Polyfill.cs +25 -25
  1451. package/Runtime/Core/Platform/SDK/PubnubNotificationService.cs +42 -42
  1452. package/Runtime/Core/Platform/SDK/Session/Heartbeat.cs +127 -127
  1453. package/Runtime/Core/Platform/SDK/Session/SessionDeviceOptions.cs +213 -213
  1454. package/Runtime/Core/Platform/SDK/Session/SessionParameterProvider.cs +61 -61
  1455. package/Runtime/Core/Platform/SDK/Session/SessionService.cs +292 -292
  1456. package/Runtime/Core/Platform/SDK/Session/SessionServiceHelper.cs +192 -192
  1457. package/Runtime/Core/Platform/SDK/Sim/GameRelayService.cs +243 -243
  1458. package/Runtime/Core/Platform/SDK/Sim/SimBehavior.cs +73 -73
  1459. package/Runtime/Core/Platform/SDK/Sim/SimClient.cs +427 -427
  1460. package/Runtime/Core/Platform/SDK/Sim/SimEvent.cs +39 -39
  1461. package/Runtime/Core/Platform/SDK/Sim/SimFaultHandler.cs +172 -172
  1462. package/Runtime/Core/Platform/SDK/Sim/SimFrame.cs +76 -76
  1463. package/Runtime/Core/Platform/SDK/Sim/SimLog.cs +113 -113
  1464. package/Runtime/Core/Platform/SDK/Sim/SimNetworkInterface.cs +79 -79
  1465. package/Runtime/Core/Platform/SDK/Sim/network/eventStream/SimNetworkEventStream.cs +186 -186
  1466. package/Runtime/Core/Platform/SDK/Sim/network/local/SimNetworkLocal.cs +62 -62
  1467. package/Runtime/Core/Platform/SDK/Social/SocialService.cs +22 -22
  1468. package/Runtime/Core/Platform/SDK/Stats/StatsService.cs +96 -96
  1469. package/Runtime/Core/Platform/SDK/TokenAnalyticsUtil.cs +65 -65
  1470. package/Runtime/Core/Platform/SDK/Tournaments/TournamentConsoleCommands.cs +87 -87
  1471. package/Runtime/Core/Platform/SDK/Tournaments/TournamentService.cs +26 -26
  1472. package/Runtime/Core/Platform/SDK/UnityUserDataCache.cs +169 -169
  1473. package/Runtime/Core/Platform/TaskLikeExtensions.cs +26 -26
  1474. package/Runtime/Core/Pooling/DisablePool.cs +104 -104
  1475. package/Runtime/Core/Pooling/HidePool.cs +203 -203
  1476. package/Runtime/Core/Pooling/HidePoolObject.cs +15 -15
  1477. package/Runtime/Core/Pooling/HidePoolService.cs +64 -64
  1478. package/Runtime/Core/Pooling/StaticClassPool.cs +82 -82
  1479. package/Runtime/Core/Pooling/StringBuilderPool.cs +116 -116
  1480. package/Runtime/Dependencies/GameObjectContext.cs +36 -36
  1481. package/Runtime/Dependencies/ILoadWithContext.cs +12 -12
  1482. package/Runtime/Environment/BeamableEnvironment.cs +134 -134
  1483. package/Runtime/Environment/Resources/env-default.json +1 -1
  1484. package/Runtime/Environment/Resources/versions-default.json +1 -1
  1485. package/Runtime/ExperimentalAPI.cs +49 -49
  1486. package/Runtime/GlobalServices/BeamableGlobalGameObject.cs +37 -37
  1487. package/Runtime/HelpBoxDecoratorAttribute.cs +16 -16
  1488. package/Runtime/InventoryViewEx.cs +171 -171
  1489. package/Runtime/Modules/AccountManagement/Scripts/AccountAvatarBehaviour.cs +51 -51
  1490. package/Runtime/Modules/AccountManagement/Scripts/AccountCustomizationBehaviour.cs +185 -185
  1491. package/Runtime/Modules/AccountManagement/Scripts/AccountDisplayItem.cs +245 -245
  1492. package/Runtime/Modules/AccountManagement/Scripts/AccountEmailLogin.cs +126 -126
  1493. package/Runtime/Modules/AccountManagement/Scripts/AccountExistsSelect.cs +27 -27
  1494. package/Runtime/Modules/AccountManagement/Scripts/AccountForgotPassword.cs +63 -63
  1495. package/Runtime/Modules/AccountManagement/Scripts/AccountGeneralErrorBehaviour.cs +15 -15
  1496. package/Runtime/Modules/AccountManagement/Scripts/AccountMainMenu.cs +315 -315
  1497. package/Runtime/Modules/AccountManagement/Scripts/AccountManagementAdapter.cs +75 -75
  1498. package/Runtime/Modules/AccountManagement/Scripts/AccountManagementBehaviour.cs +68 -68
  1499. package/Runtime/Modules/AccountManagement/Scripts/AccountManagementCommands.cs +50 -50
  1500. package/Runtime/Modules/AccountManagement/Scripts/AccountManagementConfiguration.cs +172 -172
  1501. package/Runtime/Modules/AccountManagement/Scripts/AccountManagementHelper.cs +40 -40
  1502. package/Runtime/Modules/AccountManagement/Scripts/AccountManagementSignals.cs +716 -716
  1503. package/Runtime/Modules/AccountManagement/Scripts/AccountPlayerDataMenu.cs +94 -94
  1504. package/Runtime/Modules/AccountManagement/Scripts/AccountSwitch.cs +55 -55
  1505. package/Runtime/Modules/AccountManagement/Scripts/AccountThirdPartyWaitingMenu.cs +22 -22
  1506. package/Runtime/Modules/AccountManagement/Scripts/AppleSignInBehavior.cs +64 -64
  1507. package/Runtime/Modules/AccountManagement/Scripts/ForgotPasswordArguments.cs +10 -10
  1508. package/Runtime/Modules/AccountManagement/Scripts/GoogleGameServicesBehavior.cs +67 -67
  1509. package/Runtime/Modules/AccountManagement/Scripts/GoogleSignInBehavior.cs +70 -70
  1510. package/Runtime/Modules/AccountManagement/Scripts/LoadingPopup.cs +34 -34
  1511. package/Runtime/Modules/AccountManagement/Scripts/LoginArguments.cs +10 -10
  1512. package/Runtime/Modules/AccountManagement/Scripts/ThirdPartyLoginArgument.cs +10 -10
  1513. package/Runtime/Modules/AccountManagement/Scripts/TokenReference.cs +10 -10
  1514. package/Runtime/Modules/Announcements/Rework/AnnouncementsCollection.cs +53 -53
  1515. package/Runtime/Modules/Announcements/Rework/AnnouncementsPresenter.cs +70 -70
  1516. package/Runtime/Modules/Announcements/Scripts/AnnouncementBehavior.cs +22 -22
  1517. package/Runtime/Modules/Announcements/Scripts/AnnouncementMainMenu.cs +79 -79
  1518. package/Runtime/Modules/Announcements/Scripts/AnnouncementReadMenu.cs +47 -47
  1519. package/Runtime/Modules/Announcements/Scripts/AnnouncementSignals.cs +39 -39
  1520. package/Runtime/Modules/Announcements/Scripts/AnnouncementSummary.cs +19 -19
  1521. package/Runtime/Modules/Avatars/Scripts/AvatarConfiguration.cs +33 -33
  1522. package/Runtime/Modules/Avatars/Scripts/AvatarPickerBehaviour.cs +99 -99
  1523. package/Runtime/Modules/BeamableDisplayModule.cs +83 -83
  1524. package/Runtime/Modules/BeamableModule.cs +17 -17
  1525. package/Runtime/Modules/Calendars/Scripts/CalendarBehaviour.cs +85 -85
  1526. package/Runtime/Modules/Calendars/Scripts/CalendarFlowMainPage.cs +8 -8
  1527. package/Runtime/Modules/Calendars/Scripts/CalendarRewardsDay.cs +32 -32
  1528. package/Runtime/Modules/Console/ConsoleConfiguration.cs +25 -25
  1529. package/Runtime/Modules/Console/ConsoleFlow.cs +662 -662
  1530. package/Runtime/Modules/Content/ContentCache.cs +184 -184
  1531. package/Runtime/Modules/Content/ContentCommands.cs +161 -161
  1532. package/Runtime/Modules/Content/ContentConfiguration.cs +161 -161
  1533. package/Runtime/Modules/Content/ContentParameterProvider.cs +9 -9
  1534. package/Runtime/Modules/Content/ContentService.cs +739 -739
  1535. package/Runtime/Modules/Content/Extensions.cs +42 -42
  1536. package/Runtime/Modules/Content/IManifestResolver.cs +42 -42
  1537. package/Runtime/Modules/Content/Manifest.cs +22 -22
  1538. package/Runtime/Modules/CoreConfiguration.cs +285 -285
  1539. package/Runtime/Modules/CurrencyHUD/CurrencyHUDFlow.cs +74 -74
  1540. package/Runtime/Modules/Generics/CollectionPresenter.cs +9 -9
  1541. package/Runtime/Modules/Generics/DataCollection.cs +19 -19
  1542. package/Runtime/Modules/Generics/DataPresenter.cs +40 -40
  1543. package/Runtime/Modules/Generics/GenericButton.cs +21 -21
  1544. package/Runtime/Modules/Generics/Model.cs +26 -26
  1545. package/Runtime/Modules/Generics/ModelPresenter.cs +25 -25
  1546. package/Runtime/Modules/Input/BeamableInput.cs +45 -45
  1547. package/Runtime/Modules/Input/InputActionArg.cs +55 -55
  1548. package/Runtime/Modules/Inventory/Prototype/GenericComponents/GenericTextButton.cs +36 -36
  1549. package/Runtime/Modules/Inventory/Prototype/InventoryPresenter.cs +159 -159
  1550. package/Runtime/Modules/Inventory/Prototype/ItemPresenter.cs +29 -29
  1551. package/Runtime/Modules/Inventory/Prototype/ItemsCollection.cs +79 -79
  1552. package/Runtime/Modules/Inventory/Prototype/LanguageLocalization/LanguageLocalizationElement.cs +47 -47
  1553. package/Runtime/Modules/Inventory/Prototype/LanguageLocalization/LanguageLocalizationManager.cs +43 -43
  1554. package/Runtime/Modules/Inventory/Prototype/LanguageLocalization/LocalizationHelper.cs +15 -15
  1555. package/Runtime/Modules/Inventory/Scripts/InventoryBehaviour.cs +59 -59
  1556. package/Runtime/Modules/Inventory/Scripts/InventoryCommands.cs +190 -190
  1557. package/Runtime/Modules/Inventory/Scripts/InventoryConfiguration.cs +32 -32
  1558. package/Runtime/Modules/Inventory/Scripts/InventoryGroupUI.cs +56 -56
  1559. package/Runtime/Modules/Inventory/Scripts/InventoryMainMenu.cs +65 -65
  1560. package/Runtime/Modules/Inventory/Scripts/InventoryMenuBehaviour.cs +56 -56
  1561. package/Runtime/Modules/Inventory/Scripts/InventoryObjectUI.cs +38 -38
  1562. package/Runtime/Modules/Inventory/Scripts/InventorySignals.cs +43 -43
  1563. package/Runtime/Modules/Inventory/Scripts/ItemImageSetter.cs +41 -41
  1564. package/Runtime/Modules/Leaderboards/Scripts/LeaderboardBehavior.cs +32 -32
  1565. package/Runtime/Modules/Leaderboards/Scripts/LeaderboardItem.cs +24 -24
  1566. package/Runtime/Modules/Leaderboards/Scripts/LeaderboardMainMenu.cs +80 -80
  1567. package/Runtime/Modules/Leaderboards/Scripts/LeaderboardSignals.cs +33 -33
  1568. package/Runtime/Modules/ModuleConfigurationObject.cs +212 -212
  1569. package/Runtime/Modules/PackageUtil.cs +80 -80
  1570. package/Runtime/Modules/Purchasing/PaymentCommands.cs +55 -55
  1571. package/Runtime/Modules/Purchasing/Steam/SteamPurchasingModule.cs +20 -20
  1572. package/Runtime/Modules/Purchasing/Steam/SteamStore.cs +147 -147
  1573. package/Runtime/Modules/Purchasing/UnityBeamablePurchaser.cs +514 -514
  1574. package/Runtime/Modules/Sessions/SessionConfiguration.cs +16 -16
  1575. package/Runtime/Modules/Shop/Scripts/Defaults/BasicListingRenderer.cs +124 -124
  1576. package/Runtime/Modules/Shop/Scripts/Defaults/BasicStoreRenderer.cs +60 -60
  1577. package/Runtime/Modules/Shop/Scripts/Defaults/ObtainSummaryListCurrencyRenderer.cs +25 -25
  1578. package/Runtime/Modules/Shop/Scripts/Defaults/ObtainSummaryListItemRenderer.cs +23 -23
  1579. package/Runtime/Modules/Shop/Scripts/Defaults/ObtainSummaryListRenderer.cs +37 -37
  1580. package/Runtime/Modules/Shop/Scripts/ListingContent.cs +36 -36
  1581. package/Runtime/Modules/Shop/Scripts/ListingRenderer.cs +10 -10
  1582. package/Runtime/Modules/Shop/Scripts/ObtainRenderer.cs +10 -10
  1583. package/Runtime/Modules/Shop/Scripts/ShopConfiguration.cs +24 -24
  1584. package/Runtime/Modules/Shop/Scripts/ShopFlow.cs +124 -124
  1585. package/Runtime/Modules/Shop/Scripts/ShopLoadingMenu.cs +5 -5
  1586. package/Runtime/Modules/Shop/Scripts/ShopRewardRenderer.cs +26 -26
  1587. package/Runtime/Modules/Shop/Scripts/ShopSignals.cs +45 -45
  1588. package/Runtime/Modules/Signals/DeSignal.cs +68 -68
  1589. package/Runtime/Modules/Signals/DeSignalTower.cs +68 -68
  1590. package/Runtime/Modules/Sound/Scripts/SoundConfiguration.cs +52 -52
  1591. package/Runtime/Modules/Stats/StatBehaviour.cs +181 -181
  1592. package/Runtime/Modules/Stats/StatObject.cs +106 -106
  1593. package/Runtime/Modules/Stats/UserExtensions.cs +89 -89
  1594. package/Runtime/Modules/Theme/Appliers/ButtonStyleApplier.cs +59 -59
  1595. package/Runtime/Modules/Theme/Appliers/GradientStyleApplier.cs +32 -32
  1596. package/Runtime/Modules/Theme/Appliers/ImageStyleApplier.cs +30 -30
  1597. package/Runtime/Modules/Theme/Appliers/LayoutStyleApplier.cs +22 -22
  1598. package/Runtime/Modules/Theme/Appliers/SelectableStyleApplier.cs +32 -32
  1599. package/Runtime/Modules/Theme/Appliers/SoundStyleApplier.cs +27 -27
  1600. package/Runtime/Modules/Theme/Appliers/StringStyleApplier.cs +20 -20
  1601. package/Runtime/Modules/Theme/Appliers/StyleApplier.cs +28 -28
  1602. package/Runtime/Modules/Theme/Appliers/TextStyleApplier.cs +57 -57
  1603. package/Runtime/Modules/Theme/Appliers/TransformStyleApplier.cs +21 -21
  1604. package/Runtime/Modules/Theme/Appliers/WindowStyleApplier.cs +51 -51
  1605. package/Runtime/Modules/Theme/CanHideAttribute.cs +12 -12
  1606. package/Runtime/Modules/Theme/Objects/GradientStyleObject.cs +33 -33
  1607. package/Runtime/Modules/Theme/Objects/ImageStyleObject.cs +27 -27
  1608. package/Runtime/Modules/Theme/Objects/LayoutStyleObject.cs +20 -20
  1609. package/Runtime/Modules/Theme/Objects/SelectableStyleObject.cs +38 -38
  1610. package/Runtime/Modules/Theme/Objects/TextStyleObject.cs +34 -34
  1611. package/Runtime/Modules/Theme/Palette.cs +94 -94
  1612. package/Runtime/Modules/Theme/PaletteStyleCopier.cs +34 -34
  1613. package/Runtime/Modules/Theme/Palettes/ButtonPalette.cs +78 -78
  1614. package/Runtime/Modules/Theme/Palettes/ColorPalette.cs +27 -27
  1615. package/Runtime/Modules/Theme/Palettes/FontPalette.cs +28 -28
  1616. package/Runtime/Modules/Theme/Palettes/GradientPalette.cs +57 -57
  1617. package/Runtime/Modules/Theme/Palettes/ImagePalette.cs +31 -31
  1618. package/Runtime/Modules/Theme/Palettes/LayoutPalette.cs +28 -28
  1619. package/Runtime/Modules/Theme/Palettes/SelectablePalette.cs +36 -36
  1620. package/Runtime/Modules/Theme/Palettes/SoundPalette.cs +30 -30
  1621. package/Runtime/Modules/Theme/Palettes/StringPalette.cs +37 -37
  1622. package/Runtime/Modules/Theme/Palettes/TextPalette.cs +61 -61
  1623. package/Runtime/Modules/Theme/Palettes/TransformPalette.cs +29 -29
  1624. package/Runtime/Modules/Theme/Palettes/WindowPalette.cs +43 -43
  1625. package/Runtime/Modules/Theme/StyleBehaviour.cs +73 -73
  1626. package/Runtime/Modules/Theme/StyleObject.cs +46 -46
  1627. package/Runtime/Modules/Theme/ThemeConfiguration.cs +9 -9
  1628. package/Runtime/Modules/Theme/ThemeObject.cs +160 -160
  1629. package/Runtime/Modules/Tournaments/Scripts/CountdownTextBehaviour.cs +65 -65
  1630. package/Runtime/Modules/Tournaments/Scripts/FixedCharacterFitter.cs +49 -49
  1631. package/Runtime/Modules/Tournaments/Scripts/MockTournamentService.cs +221 -221
  1632. package/Runtime/Modules/Tournaments/Scripts/TabBehaviour.cs +97 -97
  1633. package/Runtime/Modules/Tournaments/Scripts/TournamenClaimableRewardBehaviour.cs +37 -37
  1634. package/Runtime/Modules/Tournaments/Scripts/TournamentColorConstraint.cs +62 -62
  1635. package/Runtime/Modules/Tournaments/Scripts/TournamentDataSource.cs +74 -74
  1636. package/Runtime/Modules/Tournaments/Scripts/TournamentEntryBehavior.cs +221 -221
  1637. package/Runtime/Modules/Tournaments/Scripts/TournamentEntryPlayerBehaviour.cs +152 -152
  1638. package/Runtime/Modules/Tournaments/Scripts/TournamentInfoBehaviour.cs +33 -33
  1639. package/Runtime/Modules/Tournaments/Scripts/TournamentInfoDetailBehaviour.cs +8 -8
  1640. package/Runtime/Modules/Tournaments/Scripts/TournamentInfoDetailContainerBehaviour.cs +32 -32
  1641. package/Runtime/Modules/Tournaments/Scripts/TournamentNumbersBehaviour.cs +20 -20
  1642. package/Runtime/Modules/Tournaments/Scripts/TournamentRewardBehaviour.cs +21 -21
  1643. package/Runtime/Modules/Tournaments/Scripts/TournamentRewardEntryBehaviour.cs +32 -32
  1644. package/Runtime/Modules/Tournaments/Scripts/TournamentRewardPanelBehaviour.cs +78 -78
  1645. package/Runtime/Modules/Tournaments/Scripts/TournamentScoreUtil.cs +77 -77
  1646. package/Runtime/Modules/Tournaments/Scripts/TournamentStageGainBehaviour.cs +25 -25
  1647. package/Runtime/Modules/Tournaments/Scripts/TournamentsBehaviour.cs +630 -630
  1648. package/Runtime/Modules/Tournaments/Scripts/TournamentsConfiguration.cs +32 -32
  1649. package/Runtime/PaymentExtensions.cs +16 -16
  1650. package/Runtime/PlatformConsoleCommands.cs +559 -559
  1651. package/Runtime/PlatformConsoleCommands.cs.meta +2 -2
  1652. package/Runtime/Player/ApiServices.cs +162 -162
  1653. package/Runtime/Player/BeamableBehaviour.cs +142 -142
  1654. package/Runtime/Player/Leaderboards/LeaderboardLists.cs +216 -216
  1655. package/Runtime/Player/Leaderboards/Lists/FriendScoresList.cs +76 -76
  1656. package/Runtime/Player/Leaderboards/Lists/NearbyScoresList.cs +67 -67
  1657. package/Runtime/Player/Leaderboards/Lists/PlayerCollectionScoresList.cs +52 -52
  1658. package/Runtime/Player/Leaderboards/Lists/TopScoresList.cs +41 -41
  1659. package/Runtime/Player/Leaderboards/PlayerLeaderboard.cs +774 -774
  1660. package/Runtime/Player/Leaderboards/PlayerLeaderboards.cs +95 -95
  1661. package/Runtime/Player/MonoBehaviourExtensions.cs +17 -17
  1662. package/Runtime/Player/ObservableAccessToken.cs +12 -12
  1663. package/Runtime/Player/ObservableUser.cs +30 -30
  1664. package/Runtime/Player/PlayerAccounts.cs +2132 -2132
  1665. package/Runtime/Player/PlayerAnnouncements.cs +239 -239
  1666. package/Runtime/Player/PlayerCurrencies.cs +157 -157
  1667. package/Runtime/Player/PlayerFriends.cs +661 -661
  1668. package/Runtime/Player/PlayerInventory.cs +893 -893
  1669. package/Runtime/Player/PlayerItemGroup.cs +200 -200
  1670. package/Runtime/Player/PlayerLobby.cs +328 -328
  1671. package/Runtime/Player/PlayerParty.cs +601 -601
  1672. package/Runtime/Player/PlayerStateService.cs +44 -44
  1673. package/Runtime/Player/PlayerStats.cs +238 -238
  1674. package/Runtime/Player/SdkEventService.cs +259 -259
  1675. package/Runtime/PromiseExtensions.cs +304 -304
  1676. package/Runtime/ReflectionCache/BeamReflectionCache.cs +186 -186
  1677. package/Runtime/ReflectionCache/ReflectionSystemObject.cs +55 -55
  1678. package/Runtime/ReflectionCache/ThirdPartyIdentityReflectionCache.cs +84 -84
  1679. package/Runtime/Server/BeamContextExtensions.cs +13 -13
  1680. package/Runtime/Server/Content/ApiContentExtensions.cs +88 -88
  1681. package/Runtime/Server/LegacyCommon/Mocks/MongoDB/Bson.meta +11 -11
  1682. package/Runtime/Server/MicroserviceClient.cs +415 -415
  1683. package/Runtime/Server/MicroserviceIndividualization.cs +80 -80
  1684. package/Runtime/Server/MicroservicePrefixService.cs +10 -10
  1685. package/Runtime/Server/ThirdPartyFederatedLoginExtensions.cs +60 -60
  1686. package/Runtime/UI/Buttons/DeButtonBehaviour.cs +33 -33
  1687. package/Runtime/UI/Layouts/MediaQueryBehaviour.cs +74 -74
  1688. package/Runtime/UI/Layouts/MediaQueryObject.cs +118 -118
  1689. package/Runtime/UI/Layouts/MediaSourceBehaviour.cs +49 -49
  1690. package/Runtime/UI/Layouts/ReparenterBehaviour.cs +86 -86
  1691. package/Runtime/UI/Layouts/StackLayout.cs +70 -70
  1692. package/Runtime/UI/Lightbeam/DependencyExtensions.cs +359 -359
  1693. package/Runtime/UI/Lightbeam/LightBeam.cs +155 -155
  1694. package/Runtime/UI/Lightbeam/UIExtensions.cs +182 -182
  1695. package/Runtime/UI/Prompt/DePromptBehaviour.cs +38 -38
  1696. package/Runtime/UI/Prompt/DePromptData.cs +14 -14
  1697. package/Runtime/UI/Scripts/AddressableImageBehaviour.cs +15 -15
  1698. package/Runtime/UI/Scripts/AddressableSpriteLoader.cs +107 -107
  1699. package/Runtime/UI/Scripts/BackButtonBehaviour.cs +14 -14
  1700. package/Runtime/UI/Scripts/BeamableAnimationUtil.cs +100 -100
  1701. package/Runtime/UI/Scripts/BeamableButton.cs +33 -33
  1702. package/Runtime/UI/Scripts/BeamableWindow.cs +15 -15
  1703. package/Runtime/UI/Scripts/ClickOffBehaviour.cs +42 -42
  1704. package/Runtime/UI/Scripts/CloseButtonBehaviour.cs +14 -14
  1705. package/Runtime/UI/Scripts/EventSoundBehaviour.cs +55 -55
  1706. package/Runtime/UI/Scripts/GameObjectToggler.cs +25 -25
  1707. package/Runtime/UI/Scripts/InputReference.cs +24 -24
  1708. package/Runtime/UI/Scripts/InputValidationBehaviour.cs +153 -153
  1709. package/Runtime/UI/Scripts/LoadingDisableBehaviour.cs +87 -87
  1710. package/Runtime/UI/Scripts/LoadingIndicator.cs +117 -117
  1711. package/Runtime/UI/Scripts/Menu.cs +47 -47
  1712. package/Runtime/UI/Scripts/MenuManagementBehaviour.cs +268 -268
  1713. package/Runtime/UI/Scripts/MobileUtilities.cs +84 -84
  1714. package/Runtime/UI/Scripts/OfflineNotificationBehaviour.cs +37 -37
  1715. package/Runtime/UI/Scripts/OfflineObject.cs +69 -69
  1716. package/Runtime/UI/Scripts/ScrollButton.cs +23 -23
  1717. package/Runtime/UI/Scripts/ScrollDotsBehaviour.cs +83 -83
  1718. package/Runtime/UI/Scripts/ScrollToAlphaBehaviour.cs +47 -47
  1719. package/Runtime/UI/Scripts/StickyScrollElement.cs +176 -176
  1720. package/Runtime/UI/Scripts/TextReference.cs +15 -15
  1721. package/Runtime/UI/Scripts/TextReferenceBase.cs +14 -14
  1722. package/Runtime/UI/Scripts/TransformOffsetBehaviour.cs +61 -61
  1723. package/Runtime/UI/TextField/DeTextFieldBehaviour.cs +48 -48
  1724. package/Runtime/VectorIntExtensions.cs +45 -45
  1725. package/Samples~/LightBeamSamples/AccountManager/AccountExampleConfig.cs +15 -15
  1726. package/Samples~/LightBeamSamples/AccountManager/AccountManager.cs +57 -57
  1727. package/Samples~/LightBeamSamples/AccountManager/Prefabs/AccountDetailsBehaviour/AccountDetailsBehaviour.cs +53 -53
  1728. package/Samples~/LightBeamSamples/AccountManager/Prefabs/AccountDisplayBehaviour/AccountDisplayBehaviour.cs +51 -51
  1729. package/Samples~/LightBeamSamples/AccountManager/Prefabs/AccountSwitchPage/AccountSwitchPage.cs +42 -42
  1730. package/Samples~/LightBeamSamples/AccountManager/Prefabs/AvatarDisplay/AvatarDisplayBehaviour.cs +21 -21
  1731. package/Samples~/LightBeamSamples/AccountManager/Prefabs/ForgotPasswordPage/ForgotPasswordPage.cs +64 -64
  1732. package/Samples~/LightBeamSamples/AccountManager/Prefabs/HomePage/HomePage.cs +70 -70
  1733. package/Samples~/LightBeamSamples/AccountManager/Prefabs/RecoverEmailPage/RecoverEmailPage.cs +131 -131
  1734. package/Samples~/LightBeamSamples/AccountManager/Prefabs/RegisterEmailPage/RegisterEmailPage.cs +79 -79
  1735. package/Samples~/LightBeamSamples/CurrencyHud/CurrencyHudManager.cs +40 -40
  1736. package/Samples~/LightBeamSamples/CurrencyHud/Prefabs/CurrencyView/CurrencyViewBehaviour.cs +50 -50
  1737. package/Samples~/LightBeamSamples/FriendsManager/FriendsExampleConfig.cs +13 -13
  1738. package/Samples~/LightBeamSamples/FriendsManager/FriendsManager.cs +32 -32
  1739. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/BlockedDisplay/BlockedPlayersDisplayBehaviour.cs +25 -25
  1740. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/FriendDisplay/FriendDisplayBehaviour.cs +31 -31
  1741. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/HomePage/HomePage.cs +31 -31
  1742. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/PlayerFriendsDisplay/PlayerFriendsBehaviour.cs +194 -194
  1743. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/ReceivedInvitesDisplay/ReceivedInviteDisplayBehaviour.cs +31 -31
  1744. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/Selector/Editor/SelectorButtonBehaviourEditor.cs +27 -27
  1745. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/Selector/SelectorButtonBehaviour.cs +13 -13
  1746. package/Samples~/LightBeamSamples/FriendsManager/Prefabs/SentInvitesDisplay/SentInviteDisplayBehaviour.cs +25 -25
  1747. package/Samples~/LightBeamSamples/Inventory/InventoryExampleConfig.cs +12 -12
  1748. package/Samples~/LightBeamSamples/Inventory/InventoryManager.cs +32 -32
  1749. package/Samples~/LightBeamSamples/Inventory/Prefabs/CurrencyDisplay/CurrencyDisplayBehaviour.cs +48 -48
  1750. package/Samples~/LightBeamSamples/Inventory/Prefabs/CurrencyInfoPage/CurrencyInfoBehaviour.cs +70 -70
  1751. package/Samples~/LightBeamSamples/Inventory/Prefabs/HomePage/HomePage.cs +82 -82
  1752. package/Samples~/LightBeamSamples/Inventory/Prefabs/ItemDisplay/ItemDisplayBehaviour.cs +51 -51
  1753. package/Samples~/LightBeamSamples/Inventory/Prefabs/ItemInfoPage/ItemInfoPage.cs +74 -74
  1754. package/Samples~/LightBeamSamples/Inventory/Prefabs/PropertyDisplay/PropertyDisplayBehaviour.cs +21 -21
  1755. package/Samples~/LightBeamSamples/LobbyManager/LobbyExampleConfig.cs +14 -14
  1756. package/Samples~/LightBeamSamples/LobbyManager/LobbyManager.cs +36 -36
  1757. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/CreateLobbyDisplay/CreateLobbyDisplayBehaviour.cs +54 -54
  1758. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/FindLobbyDisplay/FindLobbyDisplayBehaviour.cs +36 -36
  1759. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/HomePage/HomePage.cs +71 -71
  1760. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/JoinLobbyDisplay/JoinLobbyDisplayBehaviour.cs +75 -75
  1761. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/LobbyDetailsDisplay/LobbyDetailsDisplayBehaviour.cs +80 -80
  1762. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/LobbyDisplay/LobbyDisplayBehaviour.cs +27 -27
  1763. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/PlayerDisplay/PlayerIdDisplayBehaviour.cs +17 -17
  1764. package/Samples~/LightBeamSamples/LobbyManager/Prefabs/PlayerLobby/PlayerLobbyBehaviour.cs +112 -112
  1765. package/Samples~/LightBeamSamples/LootBox/BeamableServices~/LootBoxService/LootBoxService.cs +45 -45
  1766. package/Samples~/LightBeamSamples/LootBox/BeamableServices~/LootBoxService/Program.cs +20 -20
  1767. package/Samples~/LightBeamSamples/LootBox/LootBoxExampleConfig.cs +8 -8
  1768. package/Samples~/LightBeamSamples/LootBox/LootBoxManager.cs +30 -30
  1769. package/Samples~/LightBeamSamples/LootBox/Prefabs/LootBoxPage/LootBoxPage.cs +47 -47
  1770. package/Samples~/LightBeamSamples/SceneLoader/Config/LightBeamSceneConfigObject_Editor.cs +37 -37
  1771. package/Samples~/LightBeamSamples/SceneLoader/LightBeamBooter.cs +485 -485
  1772. package/Samples~/LightBeamSamples/SceneLoader/Prefabs/SceneDisplay/SceneDisplayBehaviour.cs +25 -25
  1773. package/Samples~/SampleProjectBase/Scripts/Editor/Beamable/Samples/SampleProjectBase/AutoOpenReadme.cs +46 -46
  1774. package/Samples~/SampleProjectBase/Scripts/Editor/Beamable/Samples/SampleProjectBase/BeamableReadmeEditor.cs +158 -158
  1775. package/Samples~/SampleProjectBase/Scripts/Runtime/Beamable/Samples/SampleProjectBase/Readme.cs +33 -33
  1776. package/Template/SharedSample.cs +19 -19
  1777. package/Tests/Editor/AliasHelperTests.cs +64 -64
  1778. package/Tests/Editor/CLI/DataTransferTests.cs +65 -65
  1779. package/Tests/Editor/Common/BeamUtil/SanitizeStringForPathTests.cs +18 -18
  1780. package/Tests/Editor/Common/TrieTests.cs +253 -253
  1781. package/Tests/Editor/Common/TryInvokeCallbackTests.cs +93 -93
  1782. package/Tests/Editor/ContentObjectTests.cs +65 -65
  1783. package/Tests/Editor/EditorDisruptorEngine/Content/ContentObjectFieldTests.cs +81 -81
  1784. package/Tests/Editor/EditorDisruptorEngine/Content/ContentObjectLinkRefTests.cs +81 -81
  1785. package/Tests/Editor/EditorDisruptorEngine/Content/ExampleContent.cs +10 -10
  1786. package/Tests/Editor/EditorDisruptorEngine/Content/Schedules/CronTests.cs +189 -189
  1787. package/Tests/Editor/EditorTest.cs +51 -51
  1788. package/Tests/Editor/JsonPerfTesting.cs +117 -117
  1789. package/Tests/Editor/JsonPerfTesting_PayloadSize.cs +96 -96
  1790. package/Tests/Editor/JsonTestHelp.cs +82 -82
  1791. package/Tests/Editor/MockLogProvider.cs +47 -47
  1792. package/Tests/Editor/PreserveAttributeTests.cs +26 -26
  1793. package/Tests/Editor/PromiseTests/ErrorTests.cs +582 -582
  1794. package/Tests/Editor/SmallerJSON/InfinityTests.cs +61 -61
  1795. package/Tests/Editor/SmallerJSON/JsonPathTests.cs +107 -107
  1796. package/Tests/Editor/SmallerJSON/JsonSerializeTest.cs +135 -135
  1797. package/Tests/Runtime/Beamable/BeamContextInitTests.cs +103 -103
  1798. package/Tests/Runtime/Beamable/BeamContextTest.cs +72 -72
  1799. package/Tests/Runtime/Beamable/BeamableTest.cs +46 -46
  1800. package/Tests/Runtime/Beamable/Content/ClientManifest/ParseCSVTests.cs +102 -102
  1801. package/Tests/Runtime/Beamable/Content/ContentRegistry/GetTypeFromIdTests.cs +164 -164
  1802. package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/DeserializeEmptyFields.cs +114 -114
  1803. package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/DeserializeTests.cs +1343 -1343
  1804. package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/EscapedStringTests.cs +119 -119
  1805. package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/GetNullStringForTypeTests.cs +104 -104
  1806. package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/SerializeFieldSubclassSerializeTests.cs +157 -157
  1807. package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/SerializeTests.cs +1066 -1066
  1808. package/Tests/Runtime/Beamable/Content/Serialization/TestContentRef.cs +66 -66
  1809. package/Tests/Runtime/Beamable/Content/Serialization/VipContentSerialization/VipContentSerializationTests.cs +34 -34
  1810. package/Tests/Runtime/Beamable/DebouncerTests.cs +110 -110
  1811. package/Tests/Runtime/Beamable/Dependencies/ScopingTests.cs +235 -235
  1812. package/Tests/Runtime/Beamable/Environment/PackageVersionTests/FromSemanticVersionStringTests.cs +161 -161
  1813. package/Tests/Runtime/Beamable/Environment/PackageVersionTests/ImplicitConversionTest.cs +24 -24
  1814. package/Tests/Runtime/Beamable/Environment/PackageVersionTests/RangeOperatorTests.cs +209 -209
  1815. package/Tests/Runtime/Beamable/Environment/PackageVersionTests/ToStringTests.cs +64 -64
  1816. package/Tests/Runtime/Beamable/MockAuthService.cs +218 -218
  1817. package/Tests/Runtime/Beamable/MockBeamContext.cs +171 -171
  1818. package/Tests/Runtime/Beamable/MockBeamableApi.cs +122 -122
  1819. package/Tests/Runtime/Beamable/MockConfigurationHelper.cs +19 -19
  1820. package/Tests/Runtime/Beamable/MockFileAccessor.cs +19 -19
  1821. package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/AcceptAccountSwitchTests.cs +95 -95
  1822. package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/CheckSignedInUserTests.cs +134 -134
  1823. package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/LoginTests.cs +108 -108
  1824. package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/TestHelperExtensions.cs +38 -38
  1825. package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/UpdateLoginEmailTests.cs +81 -81
  1826. package/Tests/Runtime/Beamable/Modules/Leaderboards/IncrementTests.cs +88 -88
  1827. package/Tests/Runtime/Beamable/Modules/Leaderboards/LeaderboardViewSerializeTests.cs +109 -109
  1828. package/Tests/Runtime/Beamable/Modules/Shop/ListingContentTests/ValidateListingTests.cs +66 -66
  1829. package/Tests/Runtime/Beamable/Modules/Stats/StatObjectTests/WriteTests.cs +42 -42
  1830. package/Tests/Runtime/Beamable/Modules/Tournaments/TournamentScoreUtilTests/GetShortScoreTests.cs +329 -329
  1831. package/Tests/Runtime/Beamable/Platform/AccessTokenStorageTests.cs +154 -154
  1832. package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/AuthServiceTestBase.cs +39 -39
  1833. package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/CustomDeviceIdTests.cs +51 -51
  1834. package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/GetUserTests.cs +33 -33
  1835. package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/IsEmailAvailableTests.cs +58 -58
  1836. package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/LoginTests.cs +37 -37
  1837. package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/RemoveDeviceIdTests.cs +69 -69
  1838. package/Tests/Runtime/Beamable/Platform/Connectivity/MockConnectivityService.cs +45 -45
  1839. package/Tests/Runtime/Beamable/Platform/Content/MockContentService.cs +140 -140
  1840. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryResponseTests/MergeViewTests.cs +245 -245
  1841. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryServiceTests/GetItemTests.cs +225 -225
  1842. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryServiceTests/InventoryServiceTestBase.cs +52 -52
  1843. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryServiceTests/UpdateTests.cs +73 -73
  1844. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryTestItem.cs +26 -26
  1845. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryUpdateBuilderTests/AddItemTests.cs +24 -24
  1846. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryUpdateBuilderTests/SerializationTests.cs +227 -227
  1847. package/Tests/Runtime/Beamable/Platform/Inventory/InventoryUpdateBuilderTests/UnitySerializationTests.cs +215 -215
  1848. package/Tests/Runtime/Beamable/Platform/Mail/MailTests.cs +67 -67
  1849. package/Tests/Runtime/Beamable/Platform/MockConnectivityChecker.cs +24 -24
  1850. package/Tests/Runtime/Beamable/Platform/MockPlatformAPI.cs +398 -398
  1851. package/Tests/Runtime/Beamable/Platform/MockPlatformRequester.cs +78 -78
  1852. package/Tests/Runtime/Beamable/Platform/MockPlatformService.cs +47 -47
  1853. package/Tests/Runtime/Beamable/Platform/MockRequesterExtensions.cs +13 -13
  1854. package/Tests/Runtime/Beamable/Platform/TestUtil.cs +59 -59
  1855. package/Tests/Runtime/Beamable/Player/Accounts/ExternalIdentityQueryArgsTests.cs +132 -132
  1856. package/Tests/Runtime/Beamable/Player/Announcements/AnnouncementGiftSerialization.cs +117 -117
  1857. package/Tests/Runtime/Beamable/Player/Announcements/MockAnnouncementsApi.cs +45 -45
  1858. package/Tests/Runtime/Beamable/Player/Announcements/MockNotificationService.cs +70 -70
  1859. package/Tests/Runtime/Beamable/Player/Inventory/GetItemTests.cs +485 -485
  1860. package/Tests/Runtime/Beamable/Player/Inventory/MockInventoryApi.cs +77 -77
  1861. package/Tests/Runtime/Beamable/Player/Leaderboards/ResortTests.cs +236 -236
  1862. package/Tests/Runtime/Beamable/Pooling/StringBuilderPoolTests/SpawnTests.cs +55 -55
  1863. package/Tests/Runtime/Beamable/Promises/PromisePlayModeTests.cs +145 -145
  1864. package/Tests/Runtime/Beamable/Promises/SequenceTests.cs +45 -45
  1865. package/Tests/Runtime/Beamable/QueryBuilder/QueryBuilderTests.cs +94 -94
  1866. package/Tests/Runtime/Server/Runtime/MicroserviceClient/RequestTests.cs +374 -374
  1867. package/Tests/Runtime/Server/Runtime/MicroserviceClient/TestClient.cs +78 -78
  1868. package/Tests/Runtime/Server/Runtime/TestRegistrations.cs +22 -22
  1869. package/package.json +1 -1
@@ -1,776 +1,776 @@
1
- // this file was copied from nuget package Beamable.Common@7.0.0-PREVIEW.RC2
2
- // https://www.nuget.org/packages/Beamable.Common/7.0.0-PREVIEW.RC2
3
-
4
- using System;
5
- using System.Collections.Generic;
6
- using System.Reflection;
7
- using System.Runtime.ExceptionServices;
8
-
9
- namespace Beamable.Common.Dependencies
10
- {
11
-
12
- public enum DependencyLifetime
13
- {
14
- Unknown,
15
- Transient,
16
- Scoped,
17
- Singleton
18
- }
19
-
20
- /// <summary>
21
- /// The <see cref="IDependencyBuilder"/> is part of the Beamable dependency injection system.
22
- /// It is used to describe a set of services that <i>will</i> exist, but the builder never actually creates any service instance.
23
- ///
24
- /// You use a <see cref="IDependencyBuilder"/> to assemble a description of your service layout, and
25
- /// then use the <see cref="IDependencyBuilder.Build"/> method to construct a <see cref="IDependencyProvider"/>.
26
- ///
27
- /// Before you finalize the builder, add services to the builder.
28
- /// </summary>
29
- public interface IDependencyBuilder
30
- {
31
- /// <summary>
32
- /// Get the list of registered transient services. Transient services can be added with methods such as <see cref="AddTransient{T}(System.Func{Beamable.Common.Dependencies.IDependencyProvider,T})"/>
33
- /// </summary>
34
- List<ServiceDescriptor> GetTransientServices();
35
-
36
- /// <summary>
37
- /// Get the list of registered scoped services. Scoped services can be added with methods such as <see cref="AddScoped{T}(System.Func{Beamable.Common.Dependencies.IDependencyProvider,T})"/>
38
- /// </summary>
39
- List<ServiceDescriptor> GetScopedServices();
40
-
41
- /// <summary>
42
- /// Get the list of registered singleton services. Singleton services can be added with methods such as <see cref="AddSingleton{T}(System.Func{Beamable.Common.Dependencies.IDependencyProvider,T})"/>
43
- /// </summary>
44
- List<ServiceDescriptor> GetSingletonServices();
45
-
46
- /// <summary>
47
- /// Add a transient service to the <see cref="IDependencyBuilder"/>.
48
- /// A transient service will be re-instantiated everytime it is requested from <see cref="IDependencyProvider.GetService"/>.
49
- /// </summary>
50
- /// <param name="factory">A function that takes a <see cref="IDependencyProvider"/> and produces an instance of <typeparamref name="TInterface"/></param>
51
- /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
52
- /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
53
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
54
- IDependencyBuilder AddTransient<TInterface, TImpl>(Func<IDependencyProvider, TInterface> factory) where TImpl : TInterface;
55
-
56
- /// <summary>
57
- /// Add a transient service to the <see cref="IDependencyBuilder"/>.
58
- /// A transient service will be re-instantiated everytime it is requested from <see cref="IDependencyProvider.GetService"/>.
59
- /// </summary>
60
- /// <param name="factory">A function that produces an instance of <typeparamref name="TInterface"/></param>
61
- /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
62
- /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
63
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
64
- IDependencyBuilder AddTransient<TInterface, TImpl>(Func<TInterface> factory) where TImpl : TInterface;
65
-
66
- /// <summary>
67
- /// Add a transient service to the <see cref="IDependencyBuilder"/>.
68
- /// A transient service will be re-instantiated everytime it is requested from <see cref="IDependencyProvider.GetService"/>.
69
- ///
70
- /// <para>
71
- /// The instance will automatically be created by using the first available constructor of the <typeparamref name="TImpl"/> type,
72
- /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
73
- /// </para>
74
- /// </summary>
75
- /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
76
- /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
77
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
78
- IDependencyBuilder AddTransient<TInterface, TImpl>() where TImpl : TInterface;
79
-
80
- /// <summary>
81
- /// Add a transient service to the <see cref="IDependencyBuilder"/>.
82
- /// A transient service will be re-instantiated everytime it is requested from <see cref="IDependencyProvider.GetService"/>.
83
- /// </summary>
84
- /// <param name="factory">A function that takes a <see cref="IDependencyProvider"/> and produces an instance of <typeparamref name="T"/></param>
85
- /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
86
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
87
- IDependencyBuilder AddTransient<T>(Func<IDependencyProvider, T> factory);
88
-
89
- /// <summary>
90
- /// Add a transient service to the <see cref="IDependencyBuilder"/>.
91
- /// A transient service will be re-instantiated everytime it is requested from <see cref="IDependencyProvider.GetService"/>.
92
- /// </summary>
93
- /// <param name="factory">A function that produces an instance of <typeparamref name="T"/></param>
94
- /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
95
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
96
- IDependencyBuilder AddTransient<T>(Func<T> factory);
97
-
98
- /// <summary>
99
- /// Add a transient service to the <see cref="IDependencyBuilder"/>.
100
- /// A transient service will be re-instantiated everytime it is requested from <see cref="IDependencyProvider.GetService"/>.
101
- /// <para>
102
- /// The instance will automatically be created by using the first available constructor of the <typeparamref name="T"/> type,
103
- /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
104
- /// </para>
105
- /// </summary>
106
- /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
107
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
108
- IDependencyBuilder AddTransient<T>();
109
-
110
- /// <summary>
111
- /// Add a scoped service to the <see cref="IDependencyBuilder"/>.
112
- /// <para>
113
- /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
114
- /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
115
- /// will generate a new scope instance.
116
- /// </para>
117
- /// </summary>
118
- /// <param name="factory">A function that takes a <see cref="IDependencyProvider"/> and produces an instance of <typeparamref name="TInterface"/></param>
119
- /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
120
- /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
121
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
122
- IDependencyBuilder AddScoped<TInterface, TImpl>(Func<IDependencyProvider, TInterface> factory) where TImpl : TInterface;
123
-
124
- /// <summary>
125
- /// Add a transient service to the <see cref="IDependencyBuilder"/>.
126
- /// <para>
127
- /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
128
- /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
129
- /// will generate a new scope instance.
130
- /// </para>
131
- /// </summary>
132
- /// <param name="factory">A function that produces an instance of <typeparamref name="TInterface"/></param>
133
- /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
134
- /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
135
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
136
- IDependencyBuilder AddScoped<TInterface, TImpl>(Func<TInterface> factory) where TImpl : TInterface;
137
-
138
- /// <summary>
139
- /// Add a transient service to the <see cref="IDependencyBuilder"/>.
140
- /// <para>
141
- /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
142
- /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
143
- /// will generate a new scope instance.
144
- /// </para>
145
- /// </summary>
146
- /// <param name="service">a value of <typeparamref name="TInterface"/> that will be used as the scoped instance</param>
147
- /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
148
- /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
149
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
150
- IDependencyBuilder AddScoped<TInterface, TImpl>(TInterface service) where TImpl : TInterface;
151
-
152
- /// <summary>
153
- /// Add a transient service to the <see cref="IDependencyBuilder"/>.
154
- /// <para>
155
- /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
156
- /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
157
- /// will generate a new scope instance.
158
- /// </para>
159
- /// <para>
160
- /// The instance will automatically be created by using the first available constructor of the <typeparamref name="TImpl"/> type,
161
- /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
162
- /// </para>
163
- /// </summary>
164
- /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
165
- /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
166
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
167
- IDependencyBuilder AddScoped<TInterface, TImpl>() where TImpl : TInterface;
168
-
169
- /// <summary>
170
- /// Add a transient service to the <see cref="IDependencyBuilder"/>.
171
- /// <para>
172
- /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
173
- /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
174
- /// will generate a new scope instance.
175
- /// </para>
176
- /// </summary>
177
- /// <param name="factory">A function that takes a <see cref="IDependencyProvider"/> and produces an instance of <typeparamref name="T"/></param>
178
- /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
179
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
180
- IDependencyBuilder AddScoped<T>(Func<IDependencyProvider, T> factory);
181
-
182
- /// <summary>
183
- /// Add a transient service to the <see cref="IDependencyBuilder"/>.
184
- /// <para>
185
- /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
186
- /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
187
- /// will generate a new scope instance.
188
- /// </para>
189
- /// </summary>
190
- /// <param name="factory">A function that produces an instance of <typeparamref name="T"/></param>
191
- /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
192
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
193
- IDependencyBuilder AddScoped<T>(Func<T> factory);
194
-
195
- /// <summary>
196
- /// Add a transient service to the <see cref="IDependencyBuilder"/>.
197
- /// <para>
198
- /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
199
- /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
200
- /// will generate a new scope instance.
201
- /// </para>
202
- /// </summary>
203
- /// <param name="service">a value of <typeparamref name="T"/> that will be used as the scoped instance</param>
204
- /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
205
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
206
- IDependencyBuilder AddScoped<T>(T service);
207
-
208
- /// <summary>
209
- /// Add a transient service to the <see cref="IDependencyBuilder"/>.
210
- /// <para>
211
- /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
212
- /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
213
- /// will generate a new scope instance.
214
- /// </para>
215
- /// <para>
216
- /// The instance will automatically be created by using the first available constructor of the <typeparamref name="T"/> type,
217
- /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
218
- /// </para>
219
- /// </summary>
220
- /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
221
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
222
- IDependencyBuilder AddScoped<T>();
223
-
224
- /// <summary>
225
- /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
226
- /// <para>
227
- /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
228
- /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
229
- /// </para>
230
- /// </summary>
231
- /// <param name="factory">A function that takes a <see cref="IDependencyProvider"/> and produces an instance of <typeparamref name="TInterface"/></param>
232
- /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
233
- /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
234
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
235
- IDependencyBuilder AddSingleton<TInterface, TImpl>(Func<IDependencyProvider, TInterface> factory) where TImpl : TInterface;
236
-
237
- /// <summary>
238
- /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
239
- /// <para>
240
- /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
241
- /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
242
- /// </para>
243
- /// </summary>
244
- /// <param name="factory">A function that produces an instance of <typeparamref name="TInterface"/></param>
245
- /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
246
- /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
247
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
248
- IDependencyBuilder AddSingleton<TInterface, TImpl>(Func<TInterface> factory) where TImpl : TInterface;
249
-
250
- /// <summary>
251
- /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
252
- /// <para>
253
- /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
254
- /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
255
- /// </para>
256
- /// </summary>
257
- /// <param name="service">A value instance of <typeparamref name="TInterface"/></param>
258
- /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
259
- /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
260
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
261
- IDependencyBuilder AddSingleton<TInterface, TImpl>(TInterface service) where TImpl : TInterface;
262
-
263
- /// <summary>
264
- /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
265
- /// <para>
266
- /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
267
- /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
268
- /// </para>
269
- /// <para>
270
- /// The instance will automatically be created by using the first available constructor of the <typeparamref name="TImpl"/> type,
271
- /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
272
- /// </para>
273
- /// </summary>
274
- /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
275
- /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
276
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
277
- IDependencyBuilder AddSingleton<TInterface, TImpl>() where TImpl : TInterface;
278
-
279
- /// <summary>
280
- /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
281
- /// <para>
282
- /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
283
- /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
284
- /// </para>
285
- /// </summary>
286
- /// <param name="factory">A function that takes a <see cref="IDependencyProvider"/> and produces an instance of <typeparamref name="T"/></param>
287
- /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
288
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
289
- IDependencyBuilder AddSingleton<T>(Func<IDependencyProvider, T> factory);
290
-
291
- /// <summary>
292
- /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
293
- /// <para>
294
- /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
295
- /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
296
- /// </para>
297
- /// </summary>
298
- /// <param name="factory">A function that produces an instance of <typeparamref name="T"/></param>
299
- /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
300
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
301
- IDependencyBuilder AddSingleton<T>(Func<T> factory);
302
-
303
- /// <summary>
304
- /// Add a singleton service to the <see cref="IDependencyBuilder"/>. This overload allows for you to add batches of concrete service implementations
305
- /// that are tied to their concrete implementation dynamically (without knowing them at compilation-time).
306
- /// </summary>
307
- /// <param name="registeredType">The service is added tied to this type. Once the services are built, use this type to retrieve it.</param>
308
- /// <param name="factory">A function that produces an instance of <paramref name="registeredType"/>. This type must inherit from <typeparamref name="T"/>.</param>
309
- /// <typeparam name="T">A parent type of <paramref name="registeredType"/>.</typeparam>
310
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
311
- IDependencyBuilder AddSingleton<T>(Type registeredType, Func<T> factory);
312
-
313
- /// <summary>
314
- /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
315
- /// <para>
316
- /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
317
- /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
318
- /// </para>
319
- /// </summary>
320
- /// <param name="service">A value instance of <typeparamref name="T"/></param>
321
- /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
322
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
323
- IDependencyBuilder AddSingleton<T>(T service);
324
-
325
- /// <summary>
326
- /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
327
- /// <para>
328
- /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
329
- /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
330
- /// </para>
331
- /// <para>
332
- /// The instance will automatically be created by using the first available constructor of the type,
333
- /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
334
- /// </para>
335
- /// </summary>
336
- /// <param name="t">The type of the service that is registered</param>
337
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
338
- IDependencyBuilder AddSingleton(Type t);
339
-
340
- /// <summary>
341
- /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
342
- /// <para>
343
- /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
344
- /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
345
- /// </para>
346
- /// <para>
347
- /// The instance will automatically be created by using the first available constructor of the <typeparamref name="T"/> type,
348
- /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
349
- /// </para>
350
- /// </summary>
351
- /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
352
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
353
- IDependencyBuilder AddSingleton<T>();
354
-
355
- /// <summary>
356
- /// Replace a singleton service already registered in the <see cref="IDependencyBuilder"/>
357
- /// </summary>
358
- /// <typeparam name="TExisting">The existing type that's implementation will be replaced</typeparam>
359
- /// <typeparam name="TNew">The new implementation type</typeparam>
360
- /// <param name="autoCreate">True by default. When true, if there was no existing service for <typeparamref name="TExisting"/>, then the service will be registered. When false, an exception will be thrown. </param>
361
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
362
- IDependencyBuilder ReplaceSingleton<TExisting, TNew>(bool autoCreate = true) where TNew : TExisting;
363
-
364
- /// <summary>
365
- /// Replace a singleton service already registered in the <see cref="IDependencyBuilder"/>
366
- /// </summary>
367
- /// <typeparam name="TExisting">The existing type that's implementation will be replaced</typeparam>
368
- /// <typeparam name="TNew">The new implementation type</typeparam>
369
- /// <param name="newService">The instance of <typeparamref name="TNew"/> that will be used </param>
370
- /// <param name="autoCreate">True by default. When true, if there was no existing service for <typeparamref name="TExisting"/>, then the service will be registered. When false, an exception will be thrown. </param>
371
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
372
- IDependencyBuilder ReplaceSingleton<TExisting, TNew>(TNew newService, bool autoCreate = true) where TNew : TExisting;
373
-
374
- IDependencyBuilder ReplaceSingleton<TExisting>(TExisting nextInstance);
375
-
376
- /// <summary>
377
- /// Replace a singleton service already registered in the <see cref="IDependencyBuilder"/>
378
- /// </summary>
379
- /// <typeparam name="TExisting">The existing type that's implementation will be replaced</typeparam>
380
- /// <typeparam name="TNew">The new implementation type</typeparam>
381
- /// <param name="factory">A method that will be invoked to create the instance</param>
382
- /// <param name="autoCreate">True by default. When true, if there was no existing service for <typeparamref name="TExisting"/>, then the service will be registered. When false, an exception will be thrown. </param>
383
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
384
- IDependencyBuilder ReplaceSingleton<TExisting, TNew>(Func<TNew> factory, bool autoCreate = true) where TNew : TExisting;
385
-
386
- /// <summary>
387
- /// Replace a singleton service already registered in the <see cref="IDependencyBuilder"/>
388
- /// </summary>
389
- /// <typeparam name="TExisting">The existing type that's implementation will be replaced</typeparam>
390
- /// <typeparam name="TNew">The new implementation type</typeparam>
391
- /// <param name="factory">A method that will be invoked to create the instance</param>
392
- /// <param name="autoCreate">True by default. When true, if there was no existing service for <typeparamref name="TExisting"/>, then the service will be registered. When false, an exception will be thrown. </param>
393
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
394
- IDependencyBuilder ReplaceSingleton<TExisting, TNew>(Func<IDependencyProvider, TNew> factory, bool autoCreate = true) where TNew : TExisting;
395
-
396
- /// <summary>
397
- /// After you have registered all your services, use this method to finalize the builder and produce a
398
- /// <see cref="IDependencyProvider"/> that can be used to get services.
399
- /// The actual return value will be a <see cref="IDependencyProviderScope"/> which has lifecycle controls for the <see cref="IDependencyProvider"/>
400
- /// </summary>
401
- /// <returns>A <see cref="IDependencyProviderScope"/> instance</returns>
402
- IDependencyProviderScope Build(BuildOptions options = null);
403
-
404
- /// <summary>
405
- /// Removes a service of some type that was added with any of the AddTransient, AddScoped, or AddSingleton calls.
406
- /// It doesn't matter how the type was registered.
407
- /// If no service was added, then this method will throw an exception. Use <see cref="RemoveIfExists{T}"/> to avoid the exception.
408
- /// </summary>
409
- /// <typeparam name="T">The type of service to remove</typeparam>
410
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
411
- IDependencyBuilder Remove<T>();
412
-
413
- /// <summary>
414
- /// Removes a service of some type that was added with any of the AddTransient, AddScoped, or AddSingleton calls.
415
- /// It doesn't matter how the type was registered.
416
- /// If no service was added, then this method is a no-op.
417
- /// </summary>
418
- /// <typeparam name="T">The type of service to remove</typeparam>
419
- /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
420
- IDependencyBuilder RemoveIfExists<T>();
421
-
422
- /// <summary>
423
- /// Returns true is the given service has been registered.
424
- /// </summary>
425
- /// <typeparam name="T">The type of service to check for</typeparam>
426
- /// <returns>True if the service is registered in the builder, False otherwise</returns>
427
- bool Has<T>();
428
-
429
- /// <summary>
430
- /// Clones the <see cref="IDependencyBuilder"/>. The resulting builder will have of the same
431
- /// registrations that the current instance has. However, if you add any services to the original instance, or the
432
- /// returned instance, the addition won't affect the service registration state of the builder.
433
- /// </summary>
434
- /// <returns>A new <see cref="IDependencyBuilder"/></returns>
435
- IDependencyBuilder Clone();
436
- }
437
-
438
- /// <summary>
439
- /// Configuration that controls how a <see cref="IDependencyProvider"/> will be constructed
440
- /// </summary>
441
- public class BuildOptions
442
- {
443
- /// <summary>
444
- /// When building a provider, if this is false, then any calls to <see cref="IDependencyProviderScope.Hydrate"/> won't be allowed.
445
- /// </summary>
446
- public bool allowHydration = true;
447
- }
448
-
449
- /// <summary>
450
- /// The default implementation of <see cref="IDependencyBuilder"/>.
451
- /// It is not recommended that you ever use this class directly. You should only ever reference the interface.
452
- /// </summary>
453
- public class DependencyBuilder : IDependencyBuilder
454
- {
455
- public List<ServiceDescriptor> TransientServices { get; protected set; } = new List<ServiceDescriptor>();
456
- public List<ServiceDescriptor> ScopedServices { get; protected set; } = new List<ServiceDescriptor>();
457
- public List<ServiceDescriptor> SingletonServices { get; protected set; } = new List<ServiceDescriptor>();
458
-
459
- List<ServiceDescriptor> IDependencyBuilder.GetTransientServices() => TransientServices;
460
- List<ServiceDescriptor> IDependencyBuilder.GetScopedServices() => ScopedServices;
461
- List<ServiceDescriptor> IDependencyBuilder.GetSingletonServices() => SingletonServices;
462
-
463
- public IDependencyBuilder AddTransient<TInterface, TImpl>(Func<IDependencyProvider, TInterface> factory) where TImpl : TInterface
464
- {
465
- TransientServices.Add(new ServiceDescriptor
466
- {
467
- Interface = typeof(TInterface),
468
- Implementation = typeof(TImpl),
469
- Factory = (provider) => factory(provider)
470
- });
471
- return this;
472
- }
473
-
474
- public IDependencyBuilder AddTransient<TInterface, TImpl>(Func<TInterface> factory) where TImpl : TInterface =>
475
- AddTransient<TInterface, TImpl>(_ => factory());
476
-
477
- public IDependencyBuilder AddTransient<TInterface, TImpl>() where TImpl : TInterface =>
478
- AddTransient<TInterface, TImpl>(factory => Instantiate<TImpl>(factory));
479
-
480
- public IDependencyBuilder AddTransient<T>(Func<IDependencyProvider, T> factory) => AddTransient<T, T>(factory);
481
-
482
- public IDependencyBuilder AddTransient<T>(Func<T> factory) => AddTransient<T, T>(factory);
483
-
484
- public IDependencyBuilder AddTransient<T>() => AddTransient<T, T>();
485
-
486
- public IDependencyBuilder AddScoped<TInterface, TImpl>(Func<IDependencyProvider, TInterface> factory) where TImpl : TInterface
487
- {
488
- ScopedServices.Add(new ServiceDescriptor
489
- {
490
- Interface = typeof(TInterface),
491
- Implementation = typeof(TImpl),
492
- Factory = (provider) => factory(provider)
493
- });
494
- return this;
495
- }
496
-
497
- public IDependencyBuilder AddScoped<TInterface, TImpl>(Func<TInterface> factory) where TImpl : TInterface =>
498
- AddScoped<TInterface, TImpl>(_ => factory());
499
-
500
- public IDependencyBuilder AddScoped<TInterface, TImpl>(TInterface service) where TImpl : TInterface =>
501
- AddScoped<TInterface, TImpl>(_ => service);
502
-
503
- public IDependencyBuilder AddScoped<TInterface, TImpl>() where TImpl : TInterface =>
504
- AddScoped<TInterface, TImpl>(factory => Instantiate<TImpl>(factory));
505
-
506
- public IDependencyBuilder AddScoped<T>(Func<IDependencyProvider, T> factory) => AddScoped<T, T>(factory);
507
-
508
- public IDependencyBuilder AddScoped<T>(Func<T> factory) => AddScoped<T, T>(factory);
509
-
510
- public IDependencyBuilder AddScoped<T>(T service) => AddScoped<T, T>(service);
511
-
512
- public IDependencyBuilder AddScoped<T>() => AddScoped<T, T>();
513
-
514
- public IDependencyBuilder AddScoped(Type tImpl)
515
- {
516
- ScopedServices.Add(new ServiceDescriptor
517
- {
518
- Interface = tImpl,
519
- Implementation = tImpl,
520
- Factory = (provider) => Instantiate(tImpl, provider)
521
- });
522
- return this;
523
- }
524
-
525
-
526
- public IDependencyBuilder AddSingleton<TInterface, TImpl>(Func<IDependencyProvider, TInterface> factory) where TImpl : TInterface
527
- {
528
- SingletonServices.Add(new ServiceDescriptor
529
- {
530
- Interface = typeof(TInterface),
531
- Implementation = typeof(TImpl),
532
- Factory = (provider) => factory(provider)
533
- });
534
- return this;
535
- }
536
-
537
- public IDependencyBuilder AddSingleton(Type type)
538
- {
539
- SingletonServices.Add(new ServiceDescriptor
540
- {
541
- Interface = type,
542
- Implementation = type,
543
- Factory = provider => Instantiate(type, provider)
544
- });
545
- return this;
546
- }
547
-
548
- public IDependencyBuilder AddSingleton<T>(Type registeringType, Func<T> factory)
549
- {
550
- System.Diagnostics.Debug.Assert(typeof(T).IsAssignableFrom(registeringType), $"RegisteringType [{registeringType.Name}] does not implement/inherit from [{typeof(T).Name}]!");
551
- SingletonServices.Add(new ServiceDescriptor
552
- {
553
- Interface = registeringType,
554
- Implementation = registeringType,
555
- Factory = (provider) => factory()
556
- });
557
- return this;
558
- }
559
-
560
- public IDependencyBuilder AddSingleton<TInterface, TImpl>(Func<TInterface> factory) where TImpl : TInterface =>
561
- AddSingleton<TInterface, TImpl>(_ => factory());
562
-
563
- public IDependencyBuilder AddSingleton<TInterface, TImpl>(TInterface service) where TImpl : TInterface =>
564
- AddSingleton<TInterface, TImpl>(_ => service);
565
-
566
- public IDependencyBuilder AddSingleton<TInterface, TImpl>() where TImpl : TInterface =>
567
- AddSingleton<TInterface, TImpl>(factory => Instantiate<TImpl>(factory));
568
-
569
- public IDependencyBuilder AddSingleton<T>(Func<IDependencyProvider, T> factory) => AddSingleton<T, T>(factory);
570
-
571
- public IDependencyBuilder AddSingleton<T>(Func<T> factory) => AddSingleton<T, T>(factory);
572
-
573
- public IDependencyBuilder AddSingleton<T>(T service) => AddSingleton<T, T>(service);
574
-
575
- public IDependencyBuilder AddSingleton<T>() => AddSingleton<T, T>();
576
-
577
- public IDependencyBuilder ReplaceSingleton<TExisting>(TExisting nextInstance) =>
578
- ReplaceSingleton<TExisting, TExisting>(() => nextInstance);
579
- public IDependencyBuilder ReplaceSingleton<TExisting, TNew>(bool autoCreate = true)
580
- where TNew : TExisting =>
581
- ReplaceSingleton<TExisting, TNew>(Instantiate<TNew>, autoCreate);
582
-
583
- public IDependencyBuilder ReplaceSingleton<TExisting, TNew>(TNew newService, bool autoCreate = true)
584
- where TNew : TExisting =>
585
- ReplaceSingleton<TExisting, TNew>(() => newService, autoCreate);
586
-
587
- public IDependencyBuilder ReplaceSingleton<TExisting, TNew>(Func<TNew> factory, bool autoCreate = true)
588
- where TNew : TExisting =>
589
- ReplaceSingleton<TExisting, TNew>(_ => factory(), autoCreate);
590
-
591
- public IDependencyBuilder ReplaceSingleton<TExisting, TNew>(Func<IDependencyProvider, TNew> factory, bool autoCreate = true) where TNew : TExisting
592
- {
593
- if (autoCreate)
594
- {
595
- RemoveIfExists<TExisting>();
596
- }
597
- else
598
- {
599
- Remove<TExisting>();
600
- }
601
- SingletonServices.Add(new ServiceDescriptor
602
- {
603
- Interface = typeof(TExisting),
604
- Implementation = typeof(TNew),
605
- Factory = provider => factory(provider)
606
- });
607
- return this;
608
- }
609
-
610
- /// <inheritdoc cref="Instantiate"/>
611
- public static TImpl Instantiate<TImpl>(IDependencyProvider provider)
612
- {
613
- return (TImpl)Instantiate(typeof(TImpl), provider);
614
- }
615
-
616
- /// <summary>
617
- /// Create an instance of the given type by using the dependencies available in the given <see cref="IDependencyProvider"/>
618
- /// </summary>
619
- /// <param name="type"></param>
620
- /// <param name="provider"></param>
621
- /// <returns>
622
- /// </returns>
623
- /// <exception cref="Exception"></exception>
624
- public static object Instantiate(Type type, IDependencyProvider provider)
625
- {
626
- // Gets all constructors
627
- var constructors = type.GetConstructors();
628
-
629
- if (constructors.Length == 0)
630
- {
631
- throw new Exception(
632
- $"Cannot create {type.Name} via automatic reflection with Dependency Injection. No constructors exist for the type. Likely, the file has been code-stripped from the assembly.");
633
- }
634
-
635
- // TODO: XXX: This only works for the largest constructor (the one with the most dependencies); really it should scan for the constructor it can match with the most dependencies
636
- // Currently, we just get the constructor with the most parameters
637
- var bestConstructor = constructors[0];
638
- var bestLength = bestConstructor.GetParameters().Length;
639
- for (var i = 1; i < constructors.Length; i++)
640
- {
641
- var currConstructor = constructors[i];
642
- var currLength = currConstructor.GetParameters().Length;
643
- if (currLength > bestLength)
644
- {
645
- bestConstructor = currConstructor;
646
- bestLength = currLength;
647
- }
648
- }
649
-
650
- var cons = bestConstructor;
651
- if (cons == null)
652
- throw new Exception(
653
- $"Cannot create {type.Name} via automatic reflection with Dependency Injection. There isn't a single constructor found.");
654
- var parameters = cons.GetParameters();
655
- var values = new object[parameters.Length];
656
- for (var i = 0; i < parameters.Length; i++)
657
- {
658
- try
659
- {
660
- values[i] = provider.GetService(parameters[i].ParameterType);
661
- }
662
- catch (Exception ex)
663
- {
664
- BeamableLogger.LogError($"Could not create instance of type=[{type.FullName}] because parameter index=[{i}] name=[{parameters[i].Name}] of type=[{parameters[i].ParameterType}] could not instantiate due to message=[{ex.Message}]. Stack=[\n{ex.StackTrace}]");
665
- if (ex.InnerException != null)
666
- {
667
- ExceptionDispatchInfo.Capture(ex.InnerException).Throw();
668
- }
669
- throw;
670
- }
671
- }
672
-
673
- try
674
- {
675
- var instance = cons?.Invoke(values);
676
- return instance;
677
- }
678
- catch (TargetInvocationException ex) when (ex.InnerException != null)
679
- {
680
- ExceptionDispatchInfo.Capture(ex.InnerException).Throw();
681
- throw new InvalidOperationException("Cannot reach this line");
682
- }
683
- }
684
-
685
- public IDependencyProviderScope Build(BuildOptions options = null)
686
- {
687
- return new DependencyProvider(this, options);
688
- }
689
-
690
- public IDependencyBuilder RemoveIfExists<T>() => Has<T>() ? Remove<T>() : this;
691
-
692
- public IDependencyBuilder Remove<T>()
693
- {
694
- if (TryGetTransient(typeof(T), out var transient))
695
- {
696
- TransientServices.Remove(transient);
697
- return this;
698
- }
699
-
700
- if (TryGetScoped(typeof(T), out var scoped))
701
- {
702
- ScopedServices.Remove(scoped);
703
- return this;
704
- }
705
-
706
- if (TryGetSingleton(typeof(T), out var singleton))
707
- {
708
- SingletonServices.Remove(singleton);
709
- return this;
710
- }
711
-
712
- throw new Exception($"Service does not exist, so cannot be removed. type=[{typeof(T)}]");
713
- }
714
-
715
- public bool Has<T>()
716
- {
717
- return TryGetTransient(typeof(T), out _) || TryGetScoped(typeof(T), out _) || TryGetSingleton(typeof(T), out _);
718
- }
719
-
720
- public bool TryGetTransient(Type type, out ServiceDescriptor descriptor)
721
- {
722
- foreach (var serviceDescriptor in TransientServices)
723
- {
724
- if (serviceDescriptor.Interface == type)
725
- {
726
- descriptor = serviceDescriptor;
727
- return true;
728
- }
729
- }
730
-
731
- descriptor = default(ServiceDescriptor);
732
- return false;
733
- }
734
- public bool TryGetScoped(Type type, out ServiceDescriptor descriptor)
735
- {
736
- foreach (var serviceDescriptor in ScopedServices)
737
- {
738
- if (serviceDescriptor.Interface == type)
739
- {
740
- descriptor = serviceDescriptor;
741
- return true;
742
- }
743
- }
744
-
745
- descriptor = default(ServiceDescriptor);
746
- return false;
747
- }
748
-
749
- public bool TryGetSingleton(Type type, out ServiceDescriptor descriptor)
750
- {
751
- foreach (var serviceDescriptor in SingletonServices)
752
- {
753
- if (serviceDescriptor.Interface == type)
754
- {
755
- descriptor = serviceDescriptor;
756
- return true;
757
- }
758
- }
759
-
760
- descriptor = default(ServiceDescriptor);
761
- return false;
762
- }
763
-
764
-
765
- public IDependencyBuilder Clone()
766
- {
767
- return new DependencyBuilder
768
- {
769
- ScopedServices = new List<ServiceDescriptor>(ScopedServices),
770
- TransientServices = new List<ServiceDescriptor>(TransientServices),
771
- SingletonServices = new List<ServiceDescriptor>(SingletonServices)
772
- };
773
- }
774
- }
775
-
776
- }
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
+ using System;
5
+ using System.Collections.Generic;
6
+ using System.Reflection;
7
+ using System.Runtime.ExceptionServices;
8
+
9
+ namespace Beamable.Common.Dependencies
10
+ {
11
+
12
+ public enum DependencyLifetime
13
+ {
14
+ Unknown,
15
+ Transient,
16
+ Scoped,
17
+ Singleton
18
+ }
19
+
20
+ /// <summary>
21
+ /// The <see cref="IDependencyBuilder"/> is part of the Beamable dependency injection system.
22
+ /// It is used to describe a set of services that <i>will</i> exist, but the builder never actually creates any service instance.
23
+ ///
24
+ /// You use a <see cref="IDependencyBuilder"/> to assemble a description of your service layout, and
25
+ /// then use the <see cref="IDependencyBuilder.Build"/> method to construct a <see cref="IDependencyProvider"/>.
26
+ ///
27
+ /// Before you finalize the builder, add services to the builder.
28
+ /// </summary>
29
+ public interface IDependencyBuilder
30
+ {
31
+ /// <summary>
32
+ /// Get the list of registered transient services. Transient services can be added with methods such as <see cref="AddTransient{T}(System.Func{Beamable.Common.Dependencies.IDependencyProvider,T})"/>
33
+ /// </summary>
34
+ List<ServiceDescriptor> GetTransientServices();
35
+
36
+ /// <summary>
37
+ /// Get the list of registered scoped services. Scoped services can be added with methods such as <see cref="AddScoped{T}(System.Func{Beamable.Common.Dependencies.IDependencyProvider,T})"/>
38
+ /// </summary>
39
+ List<ServiceDescriptor> GetScopedServices();
40
+
41
+ /// <summary>
42
+ /// Get the list of registered singleton services. Singleton services can be added with methods such as <see cref="AddSingleton{T}(System.Func{Beamable.Common.Dependencies.IDependencyProvider,T})"/>
43
+ /// </summary>
44
+ List<ServiceDescriptor> GetSingletonServices();
45
+
46
+ /// <summary>
47
+ /// Add a transient service to the <see cref="IDependencyBuilder"/>.
48
+ /// A transient service will be re-instantiated everytime it is requested from <see cref="IDependencyProvider.GetService"/>.
49
+ /// </summary>
50
+ /// <param name="factory">A function that takes a <see cref="IDependencyProvider"/> and produces an instance of <typeparamref name="TInterface"/></param>
51
+ /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
52
+ /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
53
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
54
+ IDependencyBuilder AddTransient<TInterface, TImpl>(Func<IDependencyProvider, TInterface> factory) where TImpl : TInterface;
55
+
56
+ /// <summary>
57
+ /// Add a transient service to the <see cref="IDependencyBuilder"/>.
58
+ /// A transient service will be re-instantiated everytime it is requested from <see cref="IDependencyProvider.GetService"/>.
59
+ /// </summary>
60
+ /// <param name="factory">A function that produces an instance of <typeparamref name="TInterface"/></param>
61
+ /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
62
+ /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
63
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
64
+ IDependencyBuilder AddTransient<TInterface, TImpl>(Func<TInterface> factory) where TImpl : TInterface;
65
+
66
+ /// <summary>
67
+ /// Add a transient service to the <see cref="IDependencyBuilder"/>.
68
+ /// A transient service will be re-instantiated everytime it is requested from <see cref="IDependencyProvider.GetService"/>.
69
+ ///
70
+ /// <para>
71
+ /// The instance will automatically be created by using the first available constructor of the <typeparamref name="TImpl"/> type,
72
+ /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
73
+ /// </para>
74
+ /// </summary>
75
+ /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
76
+ /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
77
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
78
+ IDependencyBuilder AddTransient<TInterface, TImpl>() where TImpl : TInterface;
79
+
80
+ /// <summary>
81
+ /// Add a transient service to the <see cref="IDependencyBuilder"/>.
82
+ /// A transient service will be re-instantiated everytime it is requested from <see cref="IDependencyProvider.GetService"/>.
83
+ /// </summary>
84
+ /// <param name="factory">A function that takes a <see cref="IDependencyProvider"/> and produces an instance of <typeparamref name="T"/></param>
85
+ /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
86
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
87
+ IDependencyBuilder AddTransient<T>(Func<IDependencyProvider, T> factory);
88
+
89
+ /// <summary>
90
+ /// Add a transient service to the <see cref="IDependencyBuilder"/>.
91
+ /// A transient service will be re-instantiated everytime it is requested from <see cref="IDependencyProvider.GetService"/>.
92
+ /// </summary>
93
+ /// <param name="factory">A function that produces an instance of <typeparamref name="T"/></param>
94
+ /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
95
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
96
+ IDependencyBuilder AddTransient<T>(Func<T> factory);
97
+
98
+ /// <summary>
99
+ /// Add a transient service to the <see cref="IDependencyBuilder"/>.
100
+ /// A transient service will be re-instantiated everytime it is requested from <see cref="IDependencyProvider.GetService"/>.
101
+ /// <para>
102
+ /// The instance will automatically be created by using the first available constructor of the <typeparamref name="T"/> type,
103
+ /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
104
+ /// </para>
105
+ /// </summary>
106
+ /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
107
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
108
+ IDependencyBuilder AddTransient<T>();
109
+
110
+ /// <summary>
111
+ /// Add a scoped service to the <see cref="IDependencyBuilder"/>.
112
+ /// <para>
113
+ /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
114
+ /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
115
+ /// will generate a new scope instance.
116
+ /// </para>
117
+ /// </summary>
118
+ /// <param name="factory">A function that takes a <see cref="IDependencyProvider"/> and produces an instance of <typeparamref name="TInterface"/></param>
119
+ /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
120
+ /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
121
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
122
+ IDependencyBuilder AddScoped<TInterface, TImpl>(Func<IDependencyProvider, TInterface> factory) where TImpl : TInterface;
123
+
124
+ /// <summary>
125
+ /// Add a transient service to the <see cref="IDependencyBuilder"/>.
126
+ /// <para>
127
+ /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
128
+ /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
129
+ /// will generate a new scope instance.
130
+ /// </para>
131
+ /// </summary>
132
+ /// <param name="factory">A function that produces an instance of <typeparamref name="TInterface"/></param>
133
+ /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
134
+ /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
135
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
136
+ IDependencyBuilder AddScoped<TInterface, TImpl>(Func<TInterface> factory) where TImpl : TInterface;
137
+
138
+ /// <summary>
139
+ /// Add a transient service to the <see cref="IDependencyBuilder"/>.
140
+ /// <para>
141
+ /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
142
+ /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
143
+ /// will generate a new scope instance.
144
+ /// </para>
145
+ /// </summary>
146
+ /// <param name="service">a value of <typeparamref name="TInterface"/> that will be used as the scoped instance</param>
147
+ /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
148
+ /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
149
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
150
+ IDependencyBuilder AddScoped<TInterface, TImpl>(TInterface service) where TImpl : TInterface;
151
+
152
+ /// <summary>
153
+ /// Add a transient service to the <see cref="IDependencyBuilder"/>.
154
+ /// <para>
155
+ /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
156
+ /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
157
+ /// will generate a new scope instance.
158
+ /// </para>
159
+ /// <para>
160
+ /// The instance will automatically be created by using the first available constructor of the <typeparamref name="TImpl"/> type,
161
+ /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
162
+ /// </para>
163
+ /// </summary>
164
+ /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
165
+ /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
166
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
167
+ IDependencyBuilder AddScoped<TInterface, TImpl>() where TImpl : TInterface;
168
+
169
+ /// <summary>
170
+ /// Add a transient service to the <see cref="IDependencyBuilder"/>.
171
+ /// <para>
172
+ /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
173
+ /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
174
+ /// will generate a new scope instance.
175
+ /// </para>
176
+ /// </summary>
177
+ /// <param name="factory">A function that takes a <see cref="IDependencyProvider"/> and produces an instance of <typeparamref name="T"/></param>
178
+ /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
179
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
180
+ IDependencyBuilder AddScoped<T>(Func<IDependencyProvider, T> factory);
181
+
182
+ /// <summary>
183
+ /// Add a transient service to the <see cref="IDependencyBuilder"/>.
184
+ /// <para>
185
+ /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
186
+ /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
187
+ /// will generate a new scope instance.
188
+ /// </para>
189
+ /// </summary>
190
+ /// <param name="factory">A function that produces an instance of <typeparamref name="T"/></param>
191
+ /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
192
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
193
+ IDependencyBuilder AddScoped<T>(Func<T> factory);
194
+
195
+ /// <summary>
196
+ /// Add a transient service to the <see cref="IDependencyBuilder"/>.
197
+ /// <para>
198
+ /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
199
+ /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
200
+ /// will generate a new scope instance.
201
+ /// </para>
202
+ /// </summary>
203
+ /// <param name="service">a value of <typeparamref name="T"/> that will be used as the scoped instance</param>
204
+ /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
205
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
206
+ IDependencyBuilder AddScoped<T>(T service);
207
+
208
+ /// <summary>
209
+ /// Add a transient service to the <see cref="IDependencyBuilder"/>.
210
+ /// <para>
211
+ /// A scoped service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
212
+ /// However, if you use <see cref="Clone"/>, then all calls to <see cref="IDependencyProvider.GetService"/> on the resultant <see cref="IDependencyProvider"/>
213
+ /// will generate a new scope instance.
214
+ /// </para>
215
+ /// <para>
216
+ /// The instance will automatically be created by using the first available constructor of the <typeparamref name="T"/> type,
217
+ /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
218
+ /// </para>
219
+ /// </summary>
220
+ /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
221
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
222
+ IDependencyBuilder AddScoped<T>();
223
+
224
+ /// <summary>
225
+ /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
226
+ /// <para>
227
+ /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
228
+ /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
229
+ /// </para>
230
+ /// </summary>
231
+ /// <param name="factory">A function that takes a <see cref="IDependencyProvider"/> and produces an instance of <typeparamref name="TInterface"/></param>
232
+ /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
233
+ /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
234
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
235
+ IDependencyBuilder AddSingleton<TInterface, TImpl>(Func<IDependencyProvider, TInterface> factory) where TImpl : TInterface;
236
+
237
+ /// <summary>
238
+ /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
239
+ /// <para>
240
+ /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
241
+ /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
242
+ /// </para>
243
+ /// </summary>
244
+ /// <param name="factory">A function that produces an instance of <typeparamref name="TInterface"/></param>
245
+ /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
246
+ /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
247
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
248
+ IDependencyBuilder AddSingleton<TInterface, TImpl>(Func<TInterface> factory) where TImpl : TInterface;
249
+
250
+ /// <summary>
251
+ /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
252
+ /// <para>
253
+ /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
254
+ /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
255
+ /// </para>
256
+ /// </summary>
257
+ /// <param name="service">A value instance of <typeparamref name="TInterface"/></param>
258
+ /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
259
+ /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
260
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
261
+ IDependencyBuilder AddSingleton<TInterface, TImpl>(TInterface service) where TImpl : TInterface;
262
+
263
+ /// <summary>
264
+ /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
265
+ /// <para>
266
+ /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
267
+ /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
268
+ /// </para>
269
+ /// <para>
270
+ /// The instance will automatically be created by using the first available constructor of the <typeparamref name="TImpl"/> type,
271
+ /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
272
+ /// </para>
273
+ /// </summary>
274
+ /// <typeparam name="TInterface">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
275
+ /// <typeparam name="TImpl">The concrete type of the instance that will be returned from <see cref="IDependencyProvider.GetService"/></typeparam>
276
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
277
+ IDependencyBuilder AddSingleton<TInterface, TImpl>() where TImpl : TInterface;
278
+
279
+ /// <summary>
280
+ /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
281
+ /// <para>
282
+ /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
283
+ /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
284
+ /// </para>
285
+ /// </summary>
286
+ /// <param name="factory">A function that takes a <see cref="IDependencyProvider"/> and produces an instance of <typeparamref name="T"/></param>
287
+ /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
288
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
289
+ IDependencyBuilder AddSingleton<T>(Func<IDependencyProvider, T> factory);
290
+
291
+ /// <summary>
292
+ /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
293
+ /// <para>
294
+ /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
295
+ /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
296
+ /// </para>
297
+ /// </summary>
298
+ /// <param name="factory">A function that produces an instance of <typeparamref name="T"/></param>
299
+ /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
300
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
301
+ IDependencyBuilder AddSingleton<T>(Func<T> factory);
302
+
303
+ /// <summary>
304
+ /// Add a singleton service to the <see cref="IDependencyBuilder"/>. This overload allows for you to add batches of concrete service implementations
305
+ /// that are tied to their concrete implementation dynamically (without knowing them at compilation-time).
306
+ /// </summary>
307
+ /// <param name="registeredType">The service is added tied to this type. Once the services are built, use this type to retrieve it.</param>
308
+ /// <param name="factory">A function that produces an instance of <paramref name="registeredType"/>. This type must inherit from <typeparamref name="T"/>.</param>
309
+ /// <typeparam name="T">A parent type of <paramref name="registeredType"/>.</typeparam>
310
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
311
+ IDependencyBuilder AddSingleton<T>(Type registeredType, Func<T> factory);
312
+
313
+ /// <summary>
314
+ /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
315
+ /// <para>
316
+ /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
317
+ /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
318
+ /// </para>
319
+ /// </summary>
320
+ /// <param name="service">A value instance of <typeparamref name="T"/></param>
321
+ /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
322
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
323
+ IDependencyBuilder AddSingleton<T>(T service);
324
+
325
+ /// <summary>
326
+ /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
327
+ /// <para>
328
+ /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
329
+ /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
330
+ /// </para>
331
+ /// <para>
332
+ /// The instance will automatically be created by using the first available constructor of the type,
333
+ /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
334
+ /// </para>
335
+ /// </summary>
336
+ /// <param name="t">The type of the service that is registered</param>
337
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
338
+ IDependencyBuilder AddSingleton(Type t);
339
+
340
+ /// <summary>
341
+ /// Add a singleton service to the <see cref="IDependencyBuilder"/>.
342
+ /// <para>
343
+ /// A singleton service will be instantiated once, and the same instance will be requested from <see cref="IDependencyProvider.GetService"/>.
344
+ /// Even if you use <see cref="Clone"/>, the one instance will be returned for all children providers.
345
+ /// </para>
346
+ /// <para>
347
+ /// The instance will automatically be created by using the first available constructor of the <typeparamref name="T"/> type,
348
+ /// and providing parameters for the constructor from the <see cref="IDependencyProvider"/> itself
349
+ /// </para>
350
+ /// </summary>
351
+ /// <typeparam name="T">The type that is actually registered in the <see cref="IDependencyBuilder"/>. There can only be one registration for this type per <see cref="IDependencyBuilder"/></typeparam>
352
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
353
+ IDependencyBuilder AddSingleton<T>();
354
+
355
+ /// <summary>
356
+ /// Replace a singleton service already registered in the <see cref="IDependencyBuilder"/>
357
+ /// </summary>
358
+ /// <typeparam name="TExisting">The existing type that's implementation will be replaced</typeparam>
359
+ /// <typeparam name="TNew">The new implementation type</typeparam>
360
+ /// <param name="autoCreate">True by default. When true, if there was no existing service for <typeparamref name="TExisting"/>, then the service will be registered. When false, an exception will be thrown. </param>
361
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
362
+ IDependencyBuilder ReplaceSingleton<TExisting, TNew>(bool autoCreate = true) where TNew : TExisting;
363
+
364
+ /// <summary>
365
+ /// Replace a singleton service already registered in the <see cref="IDependencyBuilder"/>
366
+ /// </summary>
367
+ /// <typeparam name="TExisting">The existing type that's implementation will be replaced</typeparam>
368
+ /// <typeparam name="TNew">The new implementation type</typeparam>
369
+ /// <param name="newService">The instance of <typeparamref name="TNew"/> that will be used </param>
370
+ /// <param name="autoCreate">True by default. When true, if there was no existing service for <typeparamref name="TExisting"/>, then the service will be registered. When false, an exception will be thrown. </param>
371
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
372
+ IDependencyBuilder ReplaceSingleton<TExisting, TNew>(TNew newService, bool autoCreate = true) where TNew : TExisting;
373
+
374
+ IDependencyBuilder ReplaceSingleton<TExisting>(TExisting nextInstance);
375
+
376
+ /// <summary>
377
+ /// Replace a singleton service already registered in the <see cref="IDependencyBuilder"/>
378
+ /// </summary>
379
+ /// <typeparam name="TExisting">The existing type that's implementation will be replaced</typeparam>
380
+ /// <typeparam name="TNew">The new implementation type</typeparam>
381
+ /// <param name="factory">A method that will be invoked to create the instance</param>
382
+ /// <param name="autoCreate">True by default. When true, if there was no existing service for <typeparamref name="TExisting"/>, then the service will be registered. When false, an exception will be thrown. </param>
383
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
384
+ IDependencyBuilder ReplaceSingleton<TExisting, TNew>(Func<TNew> factory, bool autoCreate = true) where TNew : TExisting;
385
+
386
+ /// <summary>
387
+ /// Replace a singleton service already registered in the <see cref="IDependencyBuilder"/>
388
+ /// </summary>
389
+ /// <typeparam name="TExisting">The existing type that's implementation will be replaced</typeparam>
390
+ /// <typeparam name="TNew">The new implementation type</typeparam>
391
+ /// <param name="factory">A method that will be invoked to create the instance</param>
392
+ /// <param name="autoCreate">True by default. When true, if there was no existing service for <typeparamref name="TExisting"/>, then the service will be registered. When false, an exception will be thrown. </param>
393
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
394
+ IDependencyBuilder ReplaceSingleton<TExisting, TNew>(Func<IDependencyProvider, TNew> factory, bool autoCreate = true) where TNew : TExisting;
395
+
396
+ /// <summary>
397
+ /// After you have registered all your services, use this method to finalize the builder and produce a
398
+ /// <see cref="IDependencyProvider"/> that can be used to get services.
399
+ /// The actual return value will be a <see cref="IDependencyProviderScope"/> which has lifecycle controls for the <see cref="IDependencyProvider"/>
400
+ /// </summary>
401
+ /// <returns>A <see cref="IDependencyProviderScope"/> instance</returns>
402
+ IDependencyProviderScope Build(BuildOptions options = null);
403
+
404
+ /// <summary>
405
+ /// Removes a service of some type that was added with any of the AddTransient, AddScoped, or AddSingleton calls.
406
+ /// It doesn't matter how the type was registered.
407
+ /// If no service was added, then this method will throw an exception. Use <see cref="RemoveIfExists{T}"/> to avoid the exception.
408
+ /// </summary>
409
+ /// <typeparam name="T">The type of service to remove</typeparam>
410
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
411
+ IDependencyBuilder Remove<T>();
412
+
413
+ /// <summary>
414
+ /// Removes a service of some type that was added with any of the AddTransient, AddScoped, or AddSingleton calls.
415
+ /// It doesn't matter how the type was registered.
416
+ /// If no service was added, then this method is a no-op.
417
+ /// </summary>
418
+ /// <typeparam name="T">The type of service to remove</typeparam>
419
+ /// <returns>The same instance of <see cref="IDependencyBuilder"/> so that you can chain methods together.</returns>
420
+ IDependencyBuilder RemoveIfExists<T>();
421
+
422
+ /// <summary>
423
+ /// Returns true is the given service has been registered.
424
+ /// </summary>
425
+ /// <typeparam name="T">The type of service to check for</typeparam>
426
+ /// <returns>True if the service is registered in the builder, False otherwise</returns>
427
+ bool Has<T>();
428
+
429
+ /// <summary>
430
+ /// Clones the <see cref="IDependencyBuilder"/>. The resulting builder will have of the same
431
+ /// registrations that the current instance has. However, if you add any services to the original instance, or the
432
+ /// returned instance, the addition won't affect the service registration state of the builder.
433
+ /// </summary>
434
+ /// <returns>A new <see cref="IDependencyBuilder"/></returns>
435
+ IDependencyBuilder Clone();
436
+ }
437
+
438
+ /// <summary>
439
+ /// Configuration that controls how a <see cref="IDependencyProvider"/> will be constructed
440
+ /// </summary>
441
+ public class BuildOptions
442
+ {
443
+ /// <summary>
444
+ /// When building a provider, if this is false, then any calls to <see cref="IDependencyProviderScope.Hydrate"/> won't be allowed.
445
+ /// </summary>
446
+ public bool allowHydration = true;
447
+ }
448
+
449
+ /// <summary>
450
+ /// The default implementation of <see cref="IDependencyBuilder"/>.
451
+ /// It is not recommended that you ever use this class directly. You should only ever reference the interface.
452
+ /// </summary>
453
+ public class DependencyBuilder : IDependencyBuilder
454
+ {
455
+ public List<ServiceDescriptor> TransientServices { get; protected set; } = new List<ServiceDescriptor>();
456
+ public List<ServiceDescriptor> ScopedServices { get; protected set; } = new List<ServiceDescriptor>();
457
+ public List<ServiceDescriptor> SingletonServices { get; protected set; } = new List<ServiceDescriptor>();
458
+
459
+ List<ServiceDescriptor> IDependencyBuilder.GetTransientServices() => TransientServices;
460
+ List<ServiceDescriptor> IDependencyBuilder.GetScopedServices() => ScopedServices;
461
+ List<ServiceDescriptor> IDependencyBuilder.GetSingletonServices() => SingletonServices;
462
+
463
+ public IDependencyBuilder AddTransient<TInterface, TImpl>(Func<IDependencyProvider, TInterface> factory) where TImpl : TInterface
464
+ {
465
+ TransientServices.Add(new ServiceDescriptor
466
+ {
467
+ Interface = typeof(TInterface),
468
+ Implementation = typeof(TImpl),
469
+ Factory = (provider) => factory(provider)
470
+ });
471
+ return this;
472
+ }
473
+
474
+ public IDependencyBuilder AddTransient<TInterface, TImpl>(Func<TInterface> factory) where TImpl : TInterface =>
475
+ AddTransient<TInterface, TImpl>(_ => factory());
476
+
477
+ public IDependencyBuilder AddTransient<TInterface, TImpl>() where TImpl : TInterface =>
478
+ AddTransient<TInterface, TImpl>(factory => Instantiate<TImpl>(factory));
479
+
480
+ public IDependencyBuilder AddTransient<T>(Func<IDependencyProvider, T> factory) => AddTransient<T, T>(factory);
481
+
482
+ public IDependencyBuilder AddTransient<T>(Func<T> factory) => AddTransient<T, T>(factory);
483
+
484
+ public IDependencyBuilder AddTransient<T>() => AddTransient<T, T>();
485
+
486
+ public IDependencyBuilder AddScoped<TInterface, TImpl>(Func<IDependencyProvider, TInterface> factory) where TImpl : TInterface
487
+ {
488
+ ScopedServices.Add(new ServiceDescriptor
489
+ {
490
+ Interface = typeof(TInterface),
491
+ Implementation = typeof(TImpl),
492
+ Factory = (provider) => factory(provider)
493
+ });
494
+ return this;
495
+ }
496
+
497
+ public IDependencyBuilder AddScoped<TInterface, TImpl>(Func<TInterface> factory) where TImpl : TInterface =>
498
+ AddScoped<TInterface, TImpl>(_ => factory());
499
+
500
+ public IDependencyBuilder AddScoped<TInterface, TImpl>(TInterface service) where TImpl : TInterface =>
501
+ AddScoped<TInterface, TImpl>(_ => service);
502
+
503
+ public IDependencyBuilder AddScoped<TInterface, TImpl>() where TImpl : TInterface =>
504
+ AddScoped<TInterface, TImpl>(factory => Instantiate<TImpl>(factory));
505
+
506
+ public IDependencyBuilder AddScoped<T>(Func<IDependencyProvider, T> factory) => AddScoped<T, T>(factory);
507
+
508
+ public IDependencyBuilder AddScoped<T>(Func<T> factory) => AddScoped<T, T>(factory);
509
+
510
+ public IDependencyBuilder AddScoped<T>(T service) => AddScoped<T, T>(service);
511
+
512
+ public IDependencyBuilder AddScoped<T>() => AddScoped<T, T>();
513
+
514
+ public IDependencyBuilder AddScoped(Type tImpl)
515
+ {
516
+ ScopedServices.Add(new ServiceDescriptor
517
+ {
518
+ Interface = tImpl,
519
+ Implementation = tImpl,
520
+ Factory = (provider) => Instantiate(tImpl, provider)
521
+ });
522
+ return this;
523
+ }
524
+
525
+
526
+ public IDependencyBuilder AddSingleton<TInterface, TImpl>(Func<IDependencyProvider, TInterface> factory) where TImpl : TInterface
527
+ {
528
+ SingletonServices.Add(new ServiceDescriptor
529
+ {
530
+ Interface = typeof(TInterface),
531
+ Implementation = typeof(TImpl),
532
+ Factory = (provider) => factory(provider)
533
+ });
534
+ return this;
535
+ }
536
+
537
+ public IDependencyBuilder AddSingleton(Type type)
538
+ {
539
+ SingletonServices.Add(new ServiceDescriptor
540
+ {
541
+ Interface = type,
542
+ Implementation = type,
543
+ Factory = provider => Instantiate(type, provider)
544
+ });
545
+ return this;
546
+ }
547
+
548
+ public IDependencyBuilder AddSingleton<T>(Type registeringType, Func<T> factory)
549
+ {
550
+ System.Diagnostics.Debug.Assert(typeof(T).IsAssignableFrom(registeringType), $"RegisteringType [{registeringType.Name}] does not implement/inherit from [{typeof(T).Name}]!");
551
+ SingletonServices.Add(new ServiceDescriptor
552
+ {
553
+ Interface = registeringType,
554
+ Implementation = registeringType,
555
+ Factory = (provider) => factory()
556
+ });
557
+ return this;
558
+ }
559
+
560
+ public IDependencyBuilder AddSingleton<TInterface, TImpl>(Func<TInterface> factory) where TImpl : TInterface =>
561
+ AddSingleton<TInterface, TImpl>(_ => factory());
562
+
563
+ public IDependencyBuilder AddSingleton<TInterface, TImpl>(TInterface service) where TImpl : TInterface =>
564
+ AddSingleton<TInterface, TImpl>(_ => service);
565
+
566
+ public IDependencyBuilder AddSingleton<TInterface, TImpl>() where TImpl : TInterface =>
567
+ AddSingleton<TInterface, TImpl>(factory => Instantiate<TImpl>(factory));
568
+
569
+ public IDependencyBuilder AddSingleton<T>(Func<IDependencyProvider, T> factory) => AddSingleton<T, T>(factory);
570
+
571
+ public IDependencyBuilder AddSingleton<T>(Func<T> factory) => AddSingleton<T, T>(factory);
572
+
573
+ public IDependencyBuilder AddSingleton<T>(T service) => AddSingleton<T, T>(service);
574
+
575
+ public IDependencyBuilder AddSingleton<T>() => AddSingleton<T, T>();
576
+
577
+ public IDependencyBuilder ReplaceSingleton<TExisting>(TExisting nextInstance) =>
578
+ ReplaceSingleton<TExisting, TExisting>(() => nextInstance);
579
+ public IDependencyBuilder ReplaceSingleton<TExisting, TNew>(bool autoCreate = true)
580
+ where TNew : TExisting =>
581
+ ReplaceSingleton<TExisting, TNew>(Instantiate<TNew>, autoCreate);
582
+
583
+ public IDependencyBuilder ReplaceSingleton<TExisting, TNew>(TNew newService, bool autoCreate = true)
584
+ where TNew : TExisting =>
585
+ ReplaceSingleton<TExisting, TNew>(() => newService, autoCreate);
586
+
587
+ public IDependencyBuilder ReplaceSingleton<TExisting, TNew>(Func<TNew> factory, bool autoCreate = true)
588
+ where TNew : TExisting =>
589
+ ReplaceSingleton<TExisting, TNew>(_ => factory(), autoCreate);
590
+
591
+ public IDependencyBuilder ReplaceSingleton<TExisting, TNew>(Func<IDependencyProvider, TNew> factory, bool autoCreate = true) where TNew : TExisting
592
+ {
593
+ if (autoCreate)
594
+ {
595
+ RemoveIfExists<TExisting>();
596
+ }
597
+ else
598
+ {
599
+ Remove<TExisting>();
600
+ }
601
+ SingletonServices.Add(new ServiceDescriptor
602
+ {
603
+ Interface = typeof(TExisting),
604
+ Implementation = typeof(TNew),
605
+ Factory = provider => factory(provider)
606
+ });
607
+ return this;
608
+ }
609
+
610
+ /// <inheritdoc cref="Instantiate"/>
611
+ public static TImpl Instantiate<TImpl>(IDependencyProvider provider)
612
+ {
613
+ return (TImpl)Instantiate(typeof(TImpl), provider);
614
+ }
615
+
616
+ /// <summary>
617
+ /// Create an instance of the given type by using the dependencies available in the given <see cref="IDependencyProvider"/>
618
+ /// </summary>
619
+ /// <param name="type"></param>
620
+ /// <param name="provider"></param>
621
+ /// <returns>
622
+ /// </returns>
623
+ /// <exception cref="Exception"></exception>
624
+ public static object Instantiate(Type type, IDependencyProvider provider)
625
+ {
626
+ // Gets all constructors
627
+ var constructors = type.GetConstructors();
628
+
629
+ if (constructors.Length == 0)
630
+ {
631
+ throw new Exception(
632
+ $"Cannot create {type.Name} via automatic reflection with Dependency Injection. No constructors exist for the type. Likely, the file has been code-stripped from the assembly.");
633
+ }
634
+
635
+ // TODO: XXX: This only works for the largest constructor (the one with the most dependencies); really it should scan for the constructor it can match with the most dependencies
636
+ // Currently, we just get the constructor with the most parameters
637
+ var bestConstructor = constructors[0];
638
+ var bestLength = bestConstructor.GetParameters().Length;
639
+ for (var i = 1; i < constructors.Length; i++)
640
+ {
641
+ var currConstructor = constructors[i];
642
+ var currLength = currConstructor.GetParameters().Length;
643
+ if (currLength > bestLength)
644
+ {
645
+ bestConstructor = currConstructor;
646
+ bestLength = currLength;
647
+ }
648
+ }
649
+
650
+ var cons = bestConstructor;
651
+ if (cons == null)
652
+ throw new Exception(
653
+ $"Cannot create {type.Name} via automatic reflection with Dependency Injection. There isn't a single constructor found.");
654
+ var parameters = cons.GetParameters();
655
+ var values = new object[parameters.Length];
656
+ for (var i = 0; i < parameters.Length; i++)
657
+ {
658
+ try
659
+ {
660
+ values[i] = provider.GetService(parameters[i].ParameterType);
661
+ }
662
+ catch (Exception ex)
663
+ {
664
+ BeamableLogger.LogError($"Could not create instance of type=[{type.FullName}] because parameter index=[{i}] name=[{parameters[i].Name}] of type=[{parameters[i].ParameterType}] could not instantiate due to message=[{ex.Message}]. Stack=[\n{ex.StackTrace}]");
665
+ if (ex.InnerException != null)
666
+ {
667
+ ExceptionDispatchInfo.Capture(ex.InnerException).Throw();
668
+ }
669
+ throw;
670
+ }
671
+ }
672
+
673
+ try
674
+ {
675
+ var instance = cons?.Invoke(values);
676
+ return instance;
677
+ }
678
+ catch (TargetInvocationException ex) when (ex.InnerException != null)
679
+ {
680
+ ExceptionDispatchInfo.Capture(ex.InnerException).Throw();
681
+ throw new InvalidOperationException("Cannot reach this line");
682
+ }
683
+ }
684
+
685
+ public IDependencyProviderScope Build(BuildOptions options = null)
686
+ {
687
+ return new DependencyProvider(this, options);
688
+ }
689
+
690
+ public IDependencyBuilder RemoveIfExists<T>() => Has<T>() ? Remove<T>() : this;
691
+
692
+ public IDependencyBuilder Remove<T>()
693
+ {
694
+ if (TryGetTransient(typeof(T), out var transient))
695
+ {
696
+ TransientServices.Remove(transient);
697
+ return this;
698
+ }
699
+
700
+ if (TryGetScoped(typeof(T), out var scoped))
701
+ {
702
+ ScopedServices.Remove(scoped);
703
+ return this;
704
+ }
705
+
706
+ if (TryGetSingleton(typeof(T), out var singleton))
707
+ {
708
+ SingletonServices.Remove(singleton);
709
+ return this;
710
+ }
711
+
712
+ throw new Exception($"Service does not exist, so cannot be removed. type=[{typeof(T)}]");
713
+ }
714
+
715
+ public bool Has<T>()
716
+ {
717
+ return TryGetTransient(typeof(T), out _) || TryGetScoped(typeof(T), out _) || TryGetSingleton(typeof(T), out _);
718
+ }
719
+
720
+ public bool TryGetTransient(Type type, out ServiceDescriptor descriptor)
721
+ {
722
+ foreach (var serviceDescriptor in TransientServices)
723
+ {
724
+ if (serviceDescriptor.Interface == type)
725
+ {
726
+ descriptor = serviceDescriptor;
727
+ return true;
728
+ }
729
+ }
730
+
731
+ descriptor = default(ServiceDescriptor);
732
+ return false;
733
+ }
734
+ public bool TryGetScoped(Type type, out ServiceDescriptor descriptor)
735
+ {
736
+ foreach (var serviceDescriptor in ScopedServices)
737
+ {
738
+ if (serviceDescriptor.Interface == type)
739
+ {
740
+ descriptor = serviceDescriptor;
741
+ return true;
742
+ }
743
+ }
744
+
745
+ descriptor = default(ServiceDescriptor);
746
+ return false;
747
+ }
748
+
749
+ public bool TryGetSingleton(Type type, out ServiceDescriptor descriptor)
750
+ {
751
+ foreach (var serviceDescriptor in SingletonServices)
752
+ {
753
+ if (serviceDescriptor.Interface == type)
754
+ {
755
+ descriptor = serviceDescriptor;
756
+ return true;
757
+ }
758
+ }
759
+
760
+ descriptor = default(ServiceDescriptor);
761
+ return false;
762
+ }
763
+
764
+
765
+ public IDependencyBuilder Clone()
766
+ {
767
+ return new DependencyBuilder
768
+ {
769
+ ScopedServices = new List<ServiceDescriptor>(ScopedServices),
770
+ TransientServices = new List<ServiceDescriptor>(TransientServices),
771
+ SingletonServices = new List<ServiceDescriptor>(SingletonServices)
772
+ };
773
+ }
774
+ }
775
+
776
+ }