com.beamable 5.0.0-PREVIEW.RC1 → 5.0.0-PREVIEW.RC11
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.
- package/.attestation.p7m +0 -0
- package/CHANGELOG.md +12 -0
- package/Common/Runtime/AgnosticAttribute.cs +52 -52
- package/Common/Runtime/AgnosticAttribute.cs.meta +11 -11
- package/Common/Runtime/Api/AliasHelper.cs +55 -55
- package/Common/Runtime/Api/AliasHelper.cs.meta +11 -11
- package/Common/Runtime/Api/Analytics/AnalyticsEventRequest.cs +2 -2
- package/Common/Runtime/Api/Analytics/AnalyticsEventRequest.cs.meta +11 -11
- package/Common/Runtime/Api/Analytics/AnalyticsService.cs +2 -2
- package/Common/Runtime/Api/Analytics/AnalyticsService.cs.meta +11 -11
- package/Common/Runtime/Api/Analytics/IBeamAnalyticsService.cs +2 -2
- package/Common/Runtime/Api/Analytics/IBeamAnalyticsService.cs.meta +11 -11
- package/Common/Runtime/Api/Analytics/Models/CoreEvent.cs +2 -2
- package/Common/Runtime/Api/Analytics/Models/CoreEvent.cs.meta +11 -11
- package/Common/Runtime/Api/Analytics/Models/IAnalyticsEvent.cs +2 -2
- package/Common/Runtime/Api/Analytics/Models/IAnalyticsEvent.cs.meta +11 -11
- package/Common/Runtime/Api/Analytics/Models/SampleCustomEvent.cs +2 -2
- package/Common/Runtime/Api/Analytics/Models/SampleCustomEvent.cs.meta +11 -11
- package/Common/Runtime/Api/Analytics/Models.meta +11 -11
- package/Common/Runtime/Api/Analytics.meta +11 -11
- package/Common/Runtime/Api/Announcements/AbsAnnouncementsApi.cs +68 -68
- package/Common/Runtime/Api/Announcements/AbsAnnouncementsApi.cs.meta +11 -11
- package/Common/Runtime/Api/Announcements/IAnnouncementsApi.cs +388 -388
- package/Common/Runtime/Api/Announcements/IAnnouncementsApi.cs.meta +11 -11
- package/Common/Runtime/Api/Announcements.meta +11 -11
- package/Common/Runtime/Api/Auth/AuthApi.cs +981 -981
- package/Common/Runtime/Api/Auth/AuthApi.cs.meta +11 -11
- package/Common/Runtime/Api/Auth/IAuthApi.cs +343 -343
- package/Common/Runtime/Api/Auth/IAuthApi.cs.meta +11 -11
- package/Common/Runtime/Api/Auth.meta +11 -11
- package/Common/Runtime/Api/Calendars/AbsCalendarApi.cs +41 -41
- package/Common/Runtime/Api/Calendars/AbsCalendarApi.cs.meta +11 -11
- package/Common/Runtime/Api/Calendars/ICalendarApi.cs +120 -120
- package/Common/Runtime/Api/Calendars/ICalendarApi.cs.meta +11 -11
- package/Common/Runtime/Api/Calendars.meta +11 -11
- package/Common/Runtime/Api/Chat/ChatApi.cs +70 -70
- package/Common/Runtime/Api/Chat/ChatApi.cs.meta +11 -11
- package/Common/Runtime/Api/Chat/IChatApi.cs +184 -184
- package/Common/Runtime/Api/Chat/IChatApi.cs.meta +11 -11
- package/Common/Runtime/Api/Chat.meta +11 -11
- package/Common/Runtime/Api/CloudData/CloudDataApi.cs +127 -127
- package/Common/Runtime/Api/CloudData/CloudDataApi.cs.meta +11 -11
- package/Common/Runtime/Api/CloudData/ICloudDataApi.cs +42 -42
- package/Common/Runtime/Api/CloudData/ICloudDataApi.cs.meta +11 -11
- package/Common/Runtime/Api/CloudData.meta +11 -11
- package/Common/Runtime/Api/CometClientData.cs +69 -69
- package/Common/Runtime/Api/CometClientData.cs.meta +11 -11
- package/Common/Runtime/Api/Commerce/ICommerceApi.cs +10 -10
- package/Common/Runtime/Api/Commerce/ICommerceApi.cs.meta +11 -11
- package/Common/Runtime/Api/Commerce.meta +11 -11
- package/Common/Runtime/Api/Content/IContentApi.cs +167 -167
- package/Common/Runtime/Api/Content/IContentApi.cs.meta +11 -11
- package/Common/Runtime/Api/Content.meta +11 -11
- package/Common/Runtime/Api/Events/AbsEventsApi.cs +50 -50
- package/Common/Runtime/Api/Events/AbsEventsApi.cs.meta +11 -11
- package/Common/Runtime/Api/Events/IEventsApi.cs +166 -166
- package/Common/Runtime/Api/Events/IEventsApi.cs.meta +11 -11
- package/Common/Runtime/Api/Events.meta +11 -11
- package/Common/Runtime/Api/Groups/GroupsApi.cs +762 -762
- package/Common/Runtime/Api/Groups/GroupsApi.cs.meta +11 -11
- package/Common/Runtime/Api/Groups/IGroupsApi.cs +211 -211
- package/Common/Runtime/Api/Groups/IGroupsApi.cs.meta +11 -11
- package/Common/Runtime/Api/Groups.meta +11 -11
- package/Common/Runtime/Api/IAccessToken.cs +48 -48
- package/Common/Runtime/Api/IAccessToken.cs.meta +11 -11
- package/Common/Runtime/Api/IBeamableFilesystemAccessor.cs +13 -13
- package/Common/Runtime/Api/IBeamableFilesystemAccessor.cs.meta +11 -11
- package/Common/Runtime/Api/IBeamableRequester.cs +770 -770
- package/Common/Runtime/Api/IBeamableRequester.cs.meta +11 -11
- package/Common/Runtime/Api/IConnectivityChecker.cs +49 -49
- package/Common/Runtime/Api/IConnectivityChecker.cs.meta +11 -11
- package/Common/Runtime/Api/IHasBeamableRequester.cs +12 -12
- package/Common/Runtime/Api/IHasBeamableRequester.cs.meta +11 -11
- package/Common/Runtime/Api/IServiceRoutingStrategy.cs +123 -123
- package/Common/Runtime/Api/IServiceRoutingStrategy.cs.meta +11 -11
- package/Common/Runtime/Api/ISupportsGet.cs +160 -160
- package/Common/Runtime/Api/ISupportsGet.cs.meta +11 -11
- package/Common/Runtime/Api/IUserContext.cs +22 -22
- package/Common/Runtime/Api/IUserContext.cs.meta +11 -11
- package/Common/Runtime/Api/IUserDataCache.cs +88 -88
- package/Common/Runtime/Api/IUserDataCache.cs.meta +11 -11
- package/Common/Runtime/Api/Inventory/IInventoryApi.cs +796 -796
- package/Common/Runtime/Api/Inventory/IInventoryApi.cs.meta +11 -11
- package/Common/Runtime/Api/Inventory/InventoryApi.cs +308 -308
- package/Common/Runtime/Api/Inventory/InventoryApi.cs.meta +11 -11
- package/Common/Runtime/Api/Inventory/InventoryUpdateBuilder.cs +712 -712
- package/Common/Runtime/Api/Inventory/InventoryUpdateBuilder.cs.meta +11 -11
- package/Common/Runtime/Api/Inventory.meta +11 -11
- package/Common/Runtime/Api/Leaderboards/ILeaderboardApi.cs +509 -509
- package/Common/Runtime/Api/Leaderboards/ILeaderboardApi.cs.meta +11 -11
- package/Common/Runtime/Api/Leaderboards/LeaderboardApi.cs +237 -237
- package/Common/Runtime/Api/Leaderboards/LeaderboardApi.cs.meta +11 -11
- package/Common/Runtime/Api/Leaderboards.meta +11 -11
- package/Common/Runtime/Api/Lobbies/ILobbyApi.cs +153 -153
- package/Common/Runtime/Api/Lobbies/ILobbyApi.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/Lobby.cs +92 -92
- package/Common/Runtime/Api/Lobbies/Lobby.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/LobbyNotification.cs +15 -15
- package/Common/Runtime/Api/Lobbies/LobbyNotification.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/LobbyPlayer.cs +59 -59
- package/Common/Runtime/Api/Lobbies/LobbyPlayer.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/LobbyRestriction.cs +19 -19
- package/Common/Runtime/Api/Lobbies/LobbyRestriction.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/LobbyService.cs +191 -191
- package/Common/Runtime/Api/Lobbies/LobbyService.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/LobbyUtils.cs +157 -157
- package/Common/Runtime/Api/Lobbies/LobbyUtils.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/NotInLobby.cs +12 -12
- package/Common/Runtime/Api/Lobbies/NotInLobby.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/Requests/AddTagsRequest.cs +36 -36
- package/Common/Runtime/Api/Lobbies/Requests/AddTagsRequest.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/Requests/CreateLobbyRequest.cs +70 -70
- package/Common/Runtime/Api/Lobbies/Requests/CreateLobbyRequest.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/Requests/JoinByPasscodeRequest.cs +30 -30
- package/Common/Runtime/Api/Lobbies/Requests/JoinByPasscodeRequest.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/Requests/JoinLobbyRequest.cs +24 -24
- package/Common/Runtime/Api/Lobbies/Requests/JoinLobbyRequest.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryRequest.cs +35 -35
- package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryRequest.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryResponse.cs +19 -19
- package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryResponse.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/Requests/RemoveFromLobbyRequest.cs +24 -24
- package/Common/Runtime/Api/Lobbies/Requests/RemoveFromLobbyRequest.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/Requests/RemoveTagsRequest.cs +30 -30
- package/Common/Runtime/Api/Lobbies/Requests/RemoveTagsRequest.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/Requests/UpdateLobbyRequest.cs +62 -62
- package/Common/Runtime/Api/Lobbies/Requests/UpdateLobbyRequest.cs.meta +11 -11
- package/Common/Runtime/Api/Lobbies/Requests.meta +11 -11
- package/Common/Runtime/Api/Lobbies.meta +11 -11
- package/Common/Runtime/Api/Mail/AbsMailApi.cs +704 -704
- package/Common/Runtime/Api/Mail/AbsMailApi.cs.meta +11 -11
- package/Common/Runtime/Api/Mail/IMailApi.cs +48 -48
- package/Common/Runtime/Api/Mail/IMailApi.cs.meta +11 -11
- package/Common/Runtime/Api/Mail.meta +11 -11
- package/Common/Runtime/Api/Notifications/INotificationService.cs +113 -113
- package/Common/Runtime/Api/Notifications/INotificationService.cs.meta +11 -11
- package/Common/Runtime/Api/Notifications/PrimitiveStringPayload.cs +13 -13
- package/Common/Runtime/Api/Notifications/PrimitiveStringPayload.cs.meta +11 -11
- package/Common/Runtime/Api/Notifications.meta +11 -11
- package/Common/Runtime/Api/Parties/IPartyApi.cs +96 -96
- package/Common/Runtime/Api/Parties/IPartyApi.cs.meta +11 -11
- package/Common/Runtime/Api/Parties/NotInParty.cs +11 -11
- package/Common/Runtime/Api/Parties/NotInParty.cs.meta +11 -11
- package/Common/Runtime/Api/Parties/Party.cs +59 -59
- package/Common/Runtime/Api/Parties/Party.cs.meta +11 -11
- package/Common/Runtime/Api/Parties/PartyNotifications.cs +55 -55
- package/Common/Runtime/Api/Parties/PartyNotifications.cs.meta +11 -11
- package/Common/Runtime/Api/Parties/PartyRestriction.cs +13 -13
- package/Common/Runtime/Api/Parties/PartyRestriction.cs.meta +11 -11
- package/Common/Runtime/Api/Parties/PartyService.cs +124 -124
- package/Common/Runtime/Api/Parties/PartyService.cs.meta +11 -11
- package/Common/Runtime/Api/Parties/Requests/CreatePartyRequest.cs +43 -43
- package/Common/Runtime/Api/Parties/Requests/CreatePartyRequest.cs.meta +11 -11
- package/Common/Runtime/Api/Parties/Requests/PartyQueryResponse.cs +19 -19
- package/Common/Runtime/Api/Parties/Requests/PartyQueryResponse.cs.meta +11 -11
- package/Common/Runtime/Api/Parties/Requests/PlayerRequest.cs +24 -24
- package/Common/Runtime/Api/Parties/Requests/PlayerRequest.cs.meta +11 -11
- package/Common/Runtime/Api/Parties/Requests/UpdatePartyRequest.cs +37 -37
- package/Common/Runtime/Api/Parties/Requests/UpdatePartyRequest.cs.meta +11 -11
- package/Common/Runtime/Api/Parties/Requests.meta +11 -11
- package/Common/Runtime/Api/Parties.meta +11 -11
- package/Common/Runtime/Api/Payments/IPaymentsApi.cs +14 -14
- package/Common/Runtime/Api/Payments/IPaymentsApi.cs.meta +11 -11
- package/Common/Runtime/Api/Payments/PaymentsApi.cs +33 -33
- package/Common/Runtime/Api/Payments/PaymentsApi.cs.meta +11 -11
- package/Common/Runtime/Api/Payments.meta +11 -11
- package/Common/Runtime/Api/Presence/IPresenceApi.cs +31 -31
- package/Common/Runtime/Api/Presence/IPresenceApi.cs.meta +11 -11
- package/Common/Runtime/Api/Presence/PresenceService.cs +165 -165
- package/Common/Runtime/Api/Presence/PresenceService.cs.meta +11 -11
- package/Common/Runtime/Api/Presence.meta +11 -11
- package/Common/Runtime/Api/Push/IPushApi.cs +9 -9
- package/Common/Runtime/Api/Push/IPushApi.cs.meta +11 -11
- package/Common/Runtime/Api/Push.meta +11 -11
- package/Common/Runtime/Api/QueryBuilder.cs +85 -85
- package/Common/Runtime/Api/QueryBuilder.cs.meta +11 -11
- package/Common/Runtime/Api/Realms/IAliasService.cs +98 -98
- package/Common/Runtime/Api/Realms/IAliasService.cs.meta +11 -11
- package/Common/Runtime/Api/Realms/IRealmApi.cs +17 -17
- package/Common/Runtime/Api/Realms/IRealmApi.cs.meta +11 -11
- package/Common/Runtime/Api/Realms/RealmService.cs +378 -378
- package/Common/Runtime/Api/Realms/RealmService.cs.meta +11 -11
- package/Common/Runtime/Api/Realms.meta +11 -11
- package/Common/Runtime/Api/SignedRequesterHelper.cs +2 -2
- package/Common/Runtime/Api/SignedRequesterHelper.cs.meta +11 -11
- package/Common/Runtime/Api/Social/ISocialApi.cs +76 -76
- package/Common/Runtime/Api/Social/ISocialApi.cs.meta +11 -11
- package/Common/Runtime/Api/Social/SocialApi.cs +329 -329
- package/Common/Runtime/Api/Social/SocialApi.cs.meta +11 -11
- package/Common/Runtime/Api/Social.meta +11 -11
- package/Common/Runtime/Api/Stats/AbsStatsApi.cs +345 -345
- package/Common/Runtime/Api/Stats/AbsStatsApi.cs.meta +11 -11
- package/Common/Runtime/Api/Stats/IStatsApi.cs +199 -199
- package/Common/Runtime/Api/Stats/IStatsApi.cs.meta +11 -11
- package/Common/Runtime/Api/Stats/StatsAccessType.cs +2 -2
- package/Common/Runtime/Api/Stats/StatsAccessType.cs.meta +11 -11
- package/Common/Runtime/Api/Stats/StatsApiHelper.cs +2 -2
- package/Common/Runtime/Api/Stats/StatsApiHelper.cs.meta +11 -11
- package/Common/Runtime/Api/Stats/StatsDomainType.cs +2 -2
- package/Common/Runtime/Api/Stats/StatsDomainType.cs.meta +11 -11
- package/Common/Runtime/Api/Stats.meta +11 -11
- package/Common/Runtime/Api/Tournaments/ITournamentApi.cs +626 -626
- package/Common/Runtime/Api/Tournaments/ITournamentApi.cs.meta +11 -11
- package/Common/Runtime/Api/Tournaments/TournamentApi.cs +284 -284
- package/Common/Runtime/Api/Tournaments/TournamentApi.cs.meta +11 -11
- package/Common/Runtime/Api/Tournaments.meta +11 -11
- package/Common/Runtime/Api.meta +11 -11
- package/Common/Runtime/BeamCli/CliContractTypeAttribute.cs +12 -12
- package/Common/Runtime/BeamCli/CliContractTypeAttribute.cs.meta +11 -11
- package/Common/Runtime/BeamCli/CliOtelData.cs +25 -25
- package/Common/Runtime/BeamCli/CliOtelData.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/CliLogMessage.cs +32 -32
- package/Common/Runtime/BeamCli/Contracts/CliLogMessage.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/CollectorStatus.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/CollectorStatus.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/Constants.cs +33 -33
- package/Common/Runtime/BeamCli/Contracts/Constants.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotActionType.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotActionType.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotType.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotType.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/ContentService/ContentSnapshotType.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/ContentSnapshotType.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/ContentService/ContentStatus.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/ContentStatus.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifest.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifest.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifestEntry.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifestEntry.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestAuthor.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestAuthor.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestProjectData.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestProjectData.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/ContentService/TagStatus.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/TagStatus.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/ContentService.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/EnvironmentVersionData.cs +14 -14
- package/Common/Runtime/BeamCli/Contracts/EnvironmentVersionData.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/GenerateEnvOutput.cs +23 -23
- package/Common/Runtime/BeamCli/Contracts/GenerateEnvOutput.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts/ServiceInfo.cs +15 -15
- package/Common/Runtime/BeamCli/Contracts/ServiceInfo.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Contracts.meta +11 -11
- package/Common/Runtime/BeamCli/ErrorOutput.cs +38 -38
- package/Common/Runtime/BeamCli/ErrorOutput.cs.meta +11 -11
- package/Common/Runtime/BeamCli/IBeamCommand.cs +51 -51
- package/Common/Runtime/BeamCli/IBeamCommand.cs.meta +11 -11
- package/Common/Runtime/BeamCli/Reporting.cs +51 -51
- package/Common/Runtime/BeamCli/Reporting.cs.meta +11 -11
- package/Common/Runtime/BeamCli/ServiceInfoHelper.cs +31 -31
- package/Common/Runtime/BeamCli/ServiceInfoHelper.cs.meta +11 -11
- package/Common/Runtime/BeamCli.meta +11 -11
- package/Common/Runtime/BeamGenerateSchemaAttribute.cs +2 -2
- package/Common/Runtime/BeamGenerateSchemaAttribute.cs.meta +11 -11
- package/Common/Runtime/BeamableColorUtil.cs +25 -25
- package/Common/Runtime/BeamableColorUtil.cs.meta +11 -11
- package/Common/Runtime/BeamableEnumExtensions.cs +35 -35
- package/Common/Runtime/BeamableEnumExtensions.cs.meta +11 -11
- package/Common/Runtime/BeamableTaskExtensions.cs +27 -27
- package/Common/Runtime/BeamableTaskExtensions.cs.meta +11 -11
- package/Common/Runtime/Collections/ConcurrentBag.cs +49 -49
- package/Common/Runtime/Collections/ConcurrentBag.cs.meta +11 -11
- package/Common/Runtime/Collections/ConcurrentDictionary.cs +109 -109
- package/Common/Runtime/Collections/ConcurrentDictionary.cs.meta +11 -11
- package/Common/Runtime/Collections.meta +11 -11
- package/Common/Runtime/Constants/Constants.cs +184 -184
- package/Common/Runtime/Constants/Constants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/ArchiveConstants.cs +24 -24
- package/Common/Runtime/Constants/Implementations/ArchiveConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/ConfigConstants.cs +25 -25
- package/Common/Runtime/Constants/Implementations/ConfigConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/ContentConstants.cs +28 -28
- package/Common/Runtime/Constants/Implementations/ContentConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/ContentManagerConstants.cs +113 -113
- package/Common/Runtime/Constants/Implementations/ContentManagerConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/CronConstants.cs +19 -19
- package/Common/Runtime/Constants/Implementations/CronConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/DockerConstants.cs +21 -21
- package/Common/Runtime/Constants/Implementations/DockerConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/EnvironmentConstants.cs +23 -23
- package/Common/Runtime/Constants/Implementations/EnvironmentConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/LoginBaseConstants.cs +45 -45
- package/Common/Runtime/Constants/Implementations/LoginBaseConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/MigrationConstants.cs +14 -14
- package/Common/Runtime/Constants/Implementations/MigrationConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/NotificationConstants.cs +18 -18
- package/Common/Runtime/Constants/Implementations/NotificationConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/OtelConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/OtelConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/RequesterConstants.cs +90 -90
- package/Common/Runtime/Constants/Implementations/RequesterConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/SchedulesConstants.cs +20 -20
- package/Common/Runtime/Constants/Implementations/SchedulesConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/ServiceConstants.cs +161 -161
- package/Common/Runtime/Constants/Implementations/ServiceConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/SpewConstants.cs +38 -38
- package/Common/Runtime/Constants/Implementations/SpewConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/TestingToolConstants.cs +40 -40
- package/Common/Runtime/Constants/Implementations/TestingToolConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/ToolbarConstants.cs +16 -16
- package/Common/Runtime/Constants/Implementations/ToolbarConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/ToolboxConstants.cs +25 -25
- package/Common/Runtime/Constants/Implementations/ToolboxConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations/TooltipConstants.cs +82 -82
- package/Common/Runtime/Constants/Implementations/TooltipConstants.cs.meta +11 -11
- package/Common/Runtime/Constants/Implementations.meta +11 -11
- package/Common/Runtime/Constants.meta +11 -11
- package/Common/Runtime/Content/ClientContentSerializer.cs +45 -45
- package/Common/Runtime/Content/ClientContentSerializer.cs.meta +11 -11
- package/Common/Runtime/Content/ClientManifest.cs +303 -303
- package/Common/Runtime/Content/ClientManifest.cs.meta +11 -11
- package/Common/Runtime/Content/ClientPermissions.cs +30 -30
- package/Common/Runtime/Content/ClientPermissions.cs.meta +11 -11
- package/Common/Runtime/Content/ContentCorruptedException.cs +15 -15
- package/Common/Runtime/Content/ContentCorruptedException.cs.meta +11 -11
- package/Common/Runtime/Content/ContentDataInfo.cs +147 -147
- package/Common/Runtime/Content/ContentDataInfo.cs.meta +11 -11
- package/Common/Runtime/Content/ContentDeserializationException.cs +14 -14
- package/Common/Runtime/Content/ContentDeserializationException.cs.meta +11 -11
- package/Common/Runtime/Content/ContentFieldAttribute.cs +30 -30
- package/Common/Runtime/Content/ContentFieldAttribute.cs.meta +11 -11
- package/Common/Runtime/Content/ContentFilterType.cs +2 -2
- package/Common/Runtime/Content/ContentFilterType.cs.meta +11 -11
- package/Common/Runtime/Content/ContentNotFoundException.cs +19 -19
- package/Common/Runtime/Content/ContentNotFoundException.cs.meta +11 -11
- package/Common/Runtime/Content/ContentObject.cs +644 -644
- package/Common/Runtime/Content/ContentObject.cs.meta +11 -11
- package/Common/Runtime/Content/ContentQuery.cs +333 -333
- package/Common/Runtime/Content/ContentQuery.cs.meta +11 -11
- package/Common/Runtime/Content/ContentQueryExtensions.cs +42 -42
- package/Common/Runtime/Content/ContentQueryExtensions.cs.meta +11 -11
- package/Common/Runtime/Content/ContentRef.cs +307 -307
- package/Common/Runtime/Content/ContentRef.cs.meta +11 -11
- package/Common/Runtime/Content/ContentSerializer.cs +776 -770
- package/Common/Runtime/Content/ContentSerializer.cs.meta +11 -11
- package/Common/Runtime/Content/ContentTypeAttribute.cs +137 -137
- package/Common/Runtime/Content/ContentTypeAttribute.cs.meta +11 -11
- package/Common/Runtime/Content/ContentTypeReflectionCache.cs +601 -601
- package/Common/Runtime/Content/ContentTypeReflectionCache.cs.meta +11 -11
- package/Common/Runtime/Content/ContentVisibility.cs +24 -24
- package/Common/Runtime/Content/ContentVisibility.cs.meta +11 -11
- package/Common/Runtime/Content/Federation.cs +32 -32
- package/Common/Runtime/Content/Federation.cs.meta +11 -11
- package/Common/Runtime/Content/IContentObject.cs +51 -51
- package/Common/Runtime/Content/IContentObject.cs.meta +11 -11
- package/Common/Runtime/Content/IContentService.cs +20 -20
- package/Common/Runtime/Content/IContentService.cs.meta +11 -11
- package/Common/Runtime/Content/IIgnoreSerializationCallbacks.cs +10 -10
- package/Common/Runtime/Content/IIgnoreSerializationCallbacks.cs.meta +11 -11
- package/Common/Runtime/Content/IgnoreContentFieldAttribute.cs +24 -24
- package/Common/Runtime/Content/IgnoreContentFieldAttribute.cs.meta +11 -11
- package/Common/Runtime/Content/Optionals.cs +582 -582
- package/Common/Runtime/Content/Optionals.cs.meta +11 -11
- package/Common/Runtime/Content/PropertyAttributes/FilePathSelectorAttribute.cs +22 -22
- package/Common/Runtime/Content/PropertyAttributes/FilePathSelectorAttribute.cs.meta +11 -11
- package/Common/Runtime/Content/PropertyAttributes/HideUnlessServerPackageInstalled.cs +14 -14
- package/Common/Runtime/Content/PropertyAttributes/HideUnlessServerPackageInstalled.cs.meta +11 -11
- package/Common/Runtime/Content/PropertyAttributes/ReadonlyIfAttribute.cs +24 -24
- package/Common/Runtime/Content/PropertyAttributes/ReadonlyIfAttribute.cs.meta +11 -11
- package/Common/Runtime/Content/PropertyAttributes/ShowOnlyAttribute.cs +10 -10
- package/Common/Runtime/Content/PropertyAttributes/ShowOnlyAttribute.cs.meta +11 -11
- package/Common/Runtime/Content/PropertyAttributes.meta +11 -11
- package/Common/Runtime/Content/RenderAsRefAttribute.cs +33 -33
- package/Common/Runtime/Content/RenderAsRefAttribute.cs.meta +11 -11
- package/Common/Runtime/Content/SerializableDictionary.cs +183 -183
- package/Common/Runtime/Content/SerializableDictionary.cs.meta +11 -11
- package/Common/Runtime/Content/Utility/DateUtility.cs +120 -120
- package/Common/Runtime/Content/Utility/DateUtility.cs.meta +11 -11
- package/Common/Runtime/Content/Utility.meta +11 -11
- package/Common/Runtime/Content/Validation/AggregateContentValidationException.cs +12 -12
- package/Common/Runtime/Content/Validation/AggregateContentValidationException.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/CannotBeBlank.cs +115 -115
- package/Common/Runtime/Content/Validation/CannotBeBlank.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/CannotBeEmpty.cs +43 -43
- package/Common/Runtime/Content/Validation/CannotBeEmpty.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/ContentValidationException.cs +122 -122
- package/Common/Runtime/Content/Validation/ContentValidationException.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/FederationMustBeValid.cs +58 -58
- package/Common/Runtime/Content/Validation/FederationMustBeValid.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustBeComparatorString.cs +29 -29
- package/Common/Runtime/Content/Validation/MustBeComparatorString.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustBeCurrency.cs +25 -25
- package/Common/Runtime/Content/Validation/MustBeCurrency.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustBeCurrencyOrItem.cs +25 -25
- package/Common/Runtime/Content/Validation/MustBeCurrencyOrItem.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustBeDateString.cs +85 -85
- package/Common/Runtime/Content/Validation/MustBeDateString.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustBeItem.cs +25 -25
- package/Common/Runtime/Content/Validation/MustBeItem.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustBeLeaderboard.cs +26 -26
- package/Common/Runtime/Content/Validation/MustBeLeaderboard.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustBeNonDefault.cs +30 -30
- package/Common/Runtime/Content/Validation/MustBeNonDefault.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustBeNonNegative.cs +20 -20
- package/Common/Runtime/Content/Validation/MustBeNonNegative.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustBeOneOf.cs +64 -64
- package/Common/Runtime/Content/Validation/MustBeOneOf.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustBePositive.cs +106 -106
- package/Common/Runtime/Content/Validation/MustBePositive.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustBeSlugString.cs +86 -86
- package/Common/Runtime/Content/Validation/MustBeSlugString.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustBeTimeSpanDuration.cs +106 -106
- package/Common/Runtime/Content/Validation/MustBeTimeSpanDuration.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustBeValidCron.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBeValidCron.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustContain.cs +53 -53
- package/Common/Runtime/Content/Validation/MustContain.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/MustReferenceContent.cs +237 -237
- package/Common/Runtime/Content/Validation/MustReferenceContent.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/RouteParametersMustBeValid.cs +51 -51
- package/Common/Runtime/Content/Validation/RouteParametersMustBeValid.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/ServiceRouteMustBeValid.cs +43 -43
- package/Common/Runtime/Content/Validation/ServiceRouteMustBeValid.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/TimeSpanDisplayAttribute.cs +18 -18
- package/Common/Runtime/Content/Validation/TimeSpanDisplayAttribute.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/ValidationAttribute.cs +110 -110
- package/Common/Runtime/Content/Validation/ValidationAttribute.cs.meta +11 -11
- package/Common/Runtime/Content/Validation/ValidationContext.cs +104 -104
- package/Common/Runtime/Content/Validation/ValidationContext.cs.meta +11 -11
- package/Common/Runtime/Content/Validation.meta +11 -11
- package/Common/Runtime/Content.meta +11 -11
- package/Common/Runtime/CronExpression/CronLocale.cs +2 -2
- package/Common/Runtime/CronExpression/CronLocale.cs.meta +11 -11
- package/Common/Runtime/CronExpression/ErrorData.cs +2 -2
- package/Common/Runtime/CronExpression/ErrorData.cs.meta +11 -11
- package/Common/Runtime/CronExpression/ExpressionParser.cs +2 -2
- package/Common/Runtime/CronExpression/ExpressionParser.cs.meta +11 -11
- package/Common/Runtime/CronExpression/Options.cs +2 -2
- package/Common/Runtime/CronExpression/Options.cs.meta +11 -11
- package/Common/Runtime/CronExpression.meta +11 -11
- package/Common/Runtime/Debug.cs +180 -180
- package/Common/Runtime/Debug.cs.meta +11 -11
- package/Common/Runtime/DefaultQuery.cs +248 -248
- package/Common/Runtime/DefaultQuery.cs.meta +11 -11
- package/Common/Runtime/Dependencies/DependencyBuilder.cs +776 -776
- package/Common/Runtime/Dependencies/DependencyBuilder.cs.meta +11 -11
- package/Common/Runtime/Dependencies/DependencyProvider.cs +560 -560
- package/Common/Runtime/Dependencies/DependencyProvider.cs.meta +11 -11
- package/Common/Runtime/Dependencies/Exceptions.cs +21 -21
- package/Common/Runtime/Dependencies/Exceptions.cs.meta +11 -11
- package/Common/Runtime/Dependencies/IDependencyList.cs +23 -23
- package/Common/Runtime/Dependencies/IDependencyList.cs.meta +11 -11
- package/Common/Runtime/Dependencies/IDependencyNameProvider.cs +14 -14
- package/Common/Runtime/Dependencies/IDependencyNameProvider.cs.meta +11 -11
- package/Common/Runtime/Dependencies/RegisterBeamableDependenciesAttribute.cs +74 -74
- package/Common/Runtime/Dependencies/RegisterBeamableDependenciesAttribute.cs.meta +11 -11
- package/Common/Runtime/Dependencies/ServiceStorage.cs +258 -258
- package/Common/Runtime/Dependencies/ServiceStorage.cs.meta +11 -11
- package/Common/Runtime/Dependencies/Utils.cs +49 -49
- package/Common/Runtime/Dependencies/Utils.cs.meta +11 -11
- package/Common/Runtime/Dependencies.meta +11 -11
- package/Common/Runtime/DocUtils.cs +24 -24
- package/Common/Runtime/DocUtils.cs.meta +11 -11
- package/Common/Runtime/Environment/PackageVersion.cs +366 -366
- package/Common/Runtime/Environment/PackageVersion.cs.meta +11 -11
- package/Common/Runtime/Environment.meta +11 -11
- package/Common/Runtime/Federation/FederatedGameServer.cs +2 -2
- package/Common/Runtime/Federation/FederatedGameServer.cs.meta +11 -11
- package/Common/Runtime/Federation/FederatedInventory.cs +2 -2
- package/Common/Runtime/Federation/FederatedInventory.cs.meta +11 -11
- package/Common/Runtime/Federation/FederatedLogin.cs +2 -2
- package/Common/Runtime/Federation/FederatedLogin.cs.meta +11 -11
- package/Common/Runtime/Federation/FederatedPlayerInit.cs +36 -36
- package/Common/Runtime/Federation/FederatedPlayerInit.cs.meta +11 -11
- package/Common/Runtime/Federation/Federation.cs +2 -2
- package/Common/Runtime/Federation/Federation.cs.meta +11 -11
- package/Common/Runtime/Federation.meta +11 -11
- package/Common/Runtime/IRuntimeConfigProvider.cs +74 -74
- package/Common/Runtime/IRuntimeConfigProvider.cs.meta +11 -11
- package/Common/Runtime/ISearchableElement.cs +14 -14
- package/Common/Runtime/ISearchableElement.cs.meta +11 -11
- package/Common/Runtime/JsonSerializable/DeleteStream.cs +438 -438
- package/Common/Runtime/JsonSerializable/DeleteStream.cs.meta +11 -11
- package/Common/Runtime/JsonSerializable/DiffStream.cs +367 -367
- package/Common/Runtime/JsonSerializable/DiffStream.cs.meta +11 -11
- package/Common/Runtime/JsonSerializable/JsonData.cs +102 -102
- package/Common/Runtime/JsonSerializable/JsonData.cs.meta +11 -11
- package/Common/Runtime/JsonSerializable/JsonSaveStream.cs +765 -765
- package/Common/Runtime/JsonSerializable/JsonSaveStream.cs.meta +11 -11
- package/Common/Runtime/JsonSerializable/JsonSerializable.cs +386 -386
- package/Common/Runtime/JsonSerializable/JsonSerializable.cs.meta +11 -11
- package/Common/Runtime/JsonSerializable/LoadStream.cs +1103 -1103
- package/Common/Runtime/JsonSerializable/LoadStream.cs.meta +11 -11
- package/Common/Runtime/JsonSerializable/MessagePackStream.cs +2 -2
- package/Common/Runtime/JsonSerializable/MessagePackStream.cs.meta +11 -11
- package/Common/Runtime/JsonSerializable/SaveStream.cs +419 -419
- package/Common/Runtime/JsonSerializable/SaveStream.cs.meta +11 -11
- package/Common/Runtime/JsonSerializable/TypeLookupFactory.cs +58 -58
- package/Common/Runtime/JsonSerializable/TypeLookupFactory.cs.meta +11 -11
- package/Common/Runtime/JsonSerializable.meta +11 -11
- package/Common/Runtime/Modules/Announcements/AnnouncementApiContent.cs +42 -42
- package/Common/Runtime/Modules/Announcements/AnnouncementApiContent.cs.meta +11 -11
- package/Common/Runtime/Modules/Announcements/AnnouncementContent.cs +120 -120
- package/Common/Runtime/Modules/Announcements/AnnouncementContent.cs.meta +11 -11
- package/Common/Runtime/Modules/Announcements/AnnouncementRef.cs +96 -96
- package/Common/Runtime/Modules/Announcements/AnnouncementRef.cs.meta +11 -11
- package/Common/Runtime/Modules/Announcements.meta +11 -11
- package/Common/Runtime/Modules/Calendars/CalendarContent.cs +41 -41
- package/Common/Runtime/Modules/Calendars/CalendarContent.cs.meta +11 -11
- package/Common/Runtime/Modules/Calendars/CalendarRef.cs +67 -67
- package/Common/Runtime/Modules/Calendars/CalendarRef.cs.meta +11 -11
- package/Common/Runtime/Modules/Calendars.meta +11 -11
- package/Common/Runtime/Modules/Groups/GroupDonationContentRef.cs +76 -76
- package/Common/Runtime/Modules/Groups/GroupDonationContentRef.cs.meta +11 -11
- package/Common/Runtime/Modules/Groups/GroupDonationsContent.cs +39 -39
- package/Common/Runtime/Modules/Groups/GroupDonationsContent.cs.meta +11 -11
- package/Common/Runtime/Modules/Groups.meta +11 -11
- package/Common/Runtime/Modules/Inventory/CurrencyContent.cs +79 -79
- package/Common/Runtime/Modules/Inventory/CurrencyContent.cs.meta +11 -11
- package/Common/Runtime/Modules/Inventory/CurrencyRef.cs +82 -82
- package/Common/Runtime/Modules/Inventory/CurrencyRef.cs.meta +11 -11
- package/Common/Runtime/Modules/Inventory/ItemContent.cs +66 -66
- package/Common/Runtime/Modules/Inventory/ItemContent.cs.meta +11 -11
- package/Common/Runtime/Modules/Inventory/ItemRef.cs +79 -79
- package/Common/Runtime/Modules/Inventory/ItemRef.cs.meta +11 -11
- package/Common/Runtime/Modules/Inventory/VipContent.cs +103 -103
- package/Common/Runtime/Modules/Inventory/VipContent.cs.meta +11 -11
- package/Common/Runtime/Modules/Inventory.meta +11 -11
- package/Common/Runtime/Modules/Leaderboards/LeaderboardContent.cs +67 -67
- package/Common/Runtime/Modules/Leaderboards/LeaderboardContent.cs.meta +11 -11
- package/Common/Runtime/Modules/Leaderboards/LeaderboardRef.cs +77 -77
- package/Common/Runtime/Modules/Leaderboards/LeaderboardRef.cs.meta +11 -11
- package/Common/Runtime/Modules/Leaderboards.meta +11 -11
- package/Common/Runtime/Modules/SharedContent/ApiContent.cs +282 -282
- package/Common/Runtime/Modules/SharedContent/ApiContent.cs.meta +11 -11
- package/Common/Runtime/Modules/SharedContent/EmailContent.cs +104 -104
- package/Common/Runtime/Modules/SharedContent/EmailContent.cs.meta +11 -11
- package/Common/Runtime/Modules/SharedContent/EventContent.cs +273 -273
- package/Common/Runtime/Modules/SharedContent/EventContent.cs.meta +11 -11
- package/Common/Runtime/Modules/SharedContent/PlayerReward.cs +63 -63
- package/Common/Runtime/Modules/SharedContent/PlayerReward.cs.meta +11 -11
- package/Common/Runtime/Modules/SharedContent/ScheduleDefinition.cs +129 -129
- package/Common/Runtime/Modules/SharedContent/ScheduleDefinition.cs.meta +11 -11
- package/Common/Runtime/Modules/SharedContent/ScheduleExtensions.cs +35 -35
- package/Common/Runtime/Modules/SharedContent/ScheduleExtensions.cs.meta +11 -11
- package/Common/Runtime/Modules/SharedContent/SimGameType.cs +300 -300
- package/Common/Runtime/Modules/SharedContent/SimGameType.cs.meta +11 -11
- package/Common/Runtime/Modules/SharedContent.meta +11 -11
- package/Common/Runtime/Modules/Shop/ListingContent.cs +329 -329
- package/Common/Runtime/Modules/Shop/ListingContent.cs.meta +11 -11
- package/Common/Runtime/Modules/Shop/ListingLink.cs +23 -23
- package/Common/Runtime/Modules/Shop/ListingLink.cs.meta +11 -11
- package/Common/Runtime/Modules/Shop/ListingRef.cs +33 -33
- package/Common/Runtime/Modules/Shop/ListingRef.cs.meta +11 -11
- package/Common/Runtime/Modules/Shop/SKUContent.cs +105 -105
- package/Common/Runtime/Modules/Shop/SKUContent.cs.meta +11 -11
- package/Common/Runtime/Modules/Shop/SKURef.cs +49 -49
- package/Common/Runtime/Modules/Shop/SKURef.cs.meta +11 -11
- package/Common/Runtime/Modules/Shop/StoreContent.cs +47 -47
- package/Common/Runtime/Modules/Shop/StoreContent.cs.meta +11 -11
- package/Common/Runtime/Modules/Shop/StoreRef.cs +50 -50
- package/Common/Runtime/Modules/Shop/StoreRef.cs.meta +11 -11
- package/Common/Runtime/Modules/Shop.meta +11 -11
- package/Common/Runtime/Modules/Steam/ISteamService.cs +68 -68
- package/Common/Runtime/Modules/Steam/ISteamService.cs.meta +11 -11
- package/Common/Runtime/Modules/Steam.meta +11 -11
- package/Common/Runtime/Modules/Tournaments/TournamentColorConstants.cs +20 -20
- package/Common/Runtime/Modules/Tournaments/TournamentColorConstants.cs.meta +11 -11
- package/Common/Runtime/Modules/Tournaments/TournamentContent.cs +317 -317
- package/Common/Runtime/Modules/Tournaments/TournamentContent.cs.meta +11 -11
- package/Common/Runtime/Modules/Tournaments.meta +11 -11
- package/Common/Runtime/ObjectExtensions.cs +50 -50
- package/Common/Runtime/ObjectExtensions.cs.meta +11 -11
- package/Common/Runtime/OpenApi/AccountsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AccountsBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/AccountsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AccountsBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/AccountsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AccountsObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/AnnouncementsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AnnouncementsBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/AnnouncementsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AnnouncementsBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/AnnouncementsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AnnouncementsObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/AuthBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AuthBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/AuthBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AuthBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamAdmin.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamAdmin.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamAdminCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamAdminCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamAuth.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamAuth.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamAuthCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamAuthCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamBeamo.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamBeamo.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamBeamoCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamBeamoCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamBeamootel.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamBeamootel.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamBeamootelCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamBeamootelCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamCustomer.gs.cs +157 -85
- package/Common/Runtime/OpenApi/BeamCustomer.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamCustomerCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamCustomerCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamLobby.gs.cs +320 -318
- package/Common/Runtime/OpenApi/BeamLobby.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamLobbyCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamLobbyCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamMailbox.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamMailbox.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamMailboxCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamMailboxCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamMatchmaking.gs.cs +169 -169
- package/Common/Runtime/OpenApi/BeamMatchmaking.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamMatchmakingCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamMatchmakingCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamParty.gs.cs +270 -219
- package/Common/Runtime/OpenApi/BeamParty.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamPartyCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPartyCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamPlayer.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayer.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamPlayerCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamPlayerlobby.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerlobby.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamPlayerlobbyCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerlobbyCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamPlayerparty.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerparty.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamPlayerpartyCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerpartyCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamPlayerticket.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerticket.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamPlayerticketCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerticketCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamPresence.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPresence.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamPresenceCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPresenceCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamScheduler.gs.cs +6 -6
- package/Common/Runtime/OpenApi/BeamScheduler.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamSchedulerCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamSchedulerCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamServiceplan.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamServiceplan.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamServiceplanCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamServiceplanCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamoBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamoBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/BeamoBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamoBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/CalendarsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/CalendarsObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/CalendarsObjectCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/CalendarsObjectCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/CloudsavingBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/CloudsavingBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/CloudsavingBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/CloudsavingBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/CommerceBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/CommerceBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/CommerceBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/CommerceBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/CommerceObject.gs.cs +7 -7
- package/Common/Runtime/OpenApi/CommerceObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/ContentBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/ContentBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/ContentBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/ContentBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/Event-playersObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/Event-playersObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/Event-playersObjectCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/Event-playersObjectCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/EventsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/EventsBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/EventsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/EventsBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/EventsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/EventsObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/Group-usersObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/Group-usersObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/Group-usersObjectCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/Group-usersObjectCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/GroupsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/GroupsObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/GroupsObjectCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/GroupsObjectCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/InventoryBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/InventoryBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/InventoryBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/InventoryBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/InventoryObject.gs.cs +7 -7
- package/Common/Runtime/OpenApi/InventoryObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/LeaderboardsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/LeaderboardsBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/LeaderboardsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/LeaderboardsBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/LeaderboardsObject.gs.cs +54 -34
- package/Common/Runtime/OpenApi/LeaderboardsObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/MailBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/MailBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/MailBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/MailBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/MailObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/MailObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/Models.gs.cs +366 -187
- package/Common/Runtime/OpenApi/Models.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/NotificationBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/NotificationBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/NotificationBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/NotificationBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/PaymentsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/PaymentsBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/PaymentsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/PaymentsBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/PaymentsObject.gs.cs +4 -4
- package/Common/Runtime/OpenApi/PaymentsObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/PushBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/PushBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/PushBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/PushBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/RealmsBasic.gs.cs +6 -6
- package/Common/Runtime/OpenApi/RealmsBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/RealmsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/RealmsBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/SessionBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/SessionBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/SessionBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/SessionBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/SocialBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/SocialBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/SocialBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/SocialBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/StatsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/StatsBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/StatsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/StatsBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/StatsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/StatsObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/TournamentsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/TournamentsBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/TournamentsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/TournamentsBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/TournamentsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/TournamentsObject.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/TrialsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/TrialsBasic.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi/TrialsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/TrialsBasicCommon.gs.cs.meta +11 -11
- package/Common/Runtime/OpenApi.meta +11 -11
- package/Common/Runtime/OpenApiExtensions/BeamoExtensions.cs +48 -48
- package/Common/Runtime/OpenApiExtensions/BeamoExtensions.cs.meta +11 -11
- package/Common/Runtime/OpenApiExtensions/LegacyConverterExtensions.cs +2 -2
- package/Common/Runtime/OpenApiExtensions/LegacyConverterExtensions.cs.meta +11 -11
- package/Common/Runtime/OpenApiExtensions.meta +11 -11
- package/Common/Runtime/OpenApiSystem.cs +236 -236
- package/Common/Runtime/OpenApiSystem.cs.meta +11 -11
- package/Common/Runtime/Player/Lazy.cs +26 -26
- package/Common/Runtime/Player/Lazy.cs.meta +11 -11
- package/Common/Runtime/Player/Observables.cs +449 -449
- package/Common/Runtime/Player/Observables.cs.meta +11 -11
- package/Common/Runtime/Player.meta +11 -11
- package/Common/Runtime/Pooling/ClassPool.cs +142 -142
- package/Common/Runtime/Pooling/ClassPool.cs.meta +11 -11
- package/Common/Runtime/Pooling/StringBuilderPool.cs +171 -171
- package/Common/Runtime/Pooling/StringBuilderPool.cs.meta +11 -11
- package/Common/Runtime/Pooling.meta +11 -11
- package/Common/Runtime/Promise.cs +1329 -1329
- package/Common/Runtime/Promise.cs.meta +11 -11
- package/Common/Runtime/ReflectionCache/BeamContextSystemAttribute.cs +11 -11
- package/Common/Runtime/ReflectionCache/BeamContextSystemAttribute.cs.meta +11 -11
- package/Common/Runtime/ReflectionCache/INamingAttribute.cs +143 -143
- package/Common/Runtime/ReflectionCache/INamingAttribute.cs.meta +11 -11
- package/Common/Runtime/ReflectionCache/IReflectionAttribute.cs +154 -154
- package/Common/Runtime/ReflectionCache/IReflectionAttribute.cs.meta +11 -11
- package/Common/Runtime/ReflectionCache/PreserveAttribute.cs +22 -22
- package/Common/Runtime/ReflectionCache/PreserveAttribute.cs.meta +11 -11
- package/Common/Runtime/ReflectionCache/ReflectionCache.cs +457 -457
- package/Common/Runtime/ReflectionCache/ReflectionCache.cs.meta +11 -11
- package/Common/Runtime/ReflectionCache/ReflectionCache_Attributes.cs +289 -289
- package/Common/Runtime/ReflectionCache/ReflectionCache_Attributes.cs.meta +11 -11
- package/Common/Runtime/ReflectionCache/ReflectionCache_BaseTypes.cs +111 -111
- package/Common/Runtime/ReflectionCache/ReflectionCache_BaseTypes.cs.meta +11 -11
- package/Common/Runtime/ReflectionCache/ReflectionCache_SignatureMatching.cs +247 -247
- package/Common/Runtime/ReflectionCache/ReflectionCache_SignatureMatching.cs.meta +11 -11
- package/Common/Runtime/ReflectionCache.meta +11 -11
- package/Common/Runtime/Scheduler/BeamScheduler.cs +962 -962
- package/Common/Runtime/Scheduler/BeamScheduler.cs.meta +11 -11
- package/Common/Runtime/Scheduler/Cron.cs +557 -557
- package/Common/Runtime/Scheduler/Cron.cs.meta +11 -11
- package/Common/Runtime/Scheduler/CronValidation.cs +63 -63
- package/Common/Runtime/Scheduler/CronValidation.cs.meta +11 -11
- package/Common/Runtime/Scheduler.meta +11 -11
- package/Common/Runtime/Semantics/ServiceName.cs +38 -38
- package/Common/Runtime/Semantics/ServiceName.cs.meta +11 -11
- package/Common/Runtime/Semantics.meta +11 -11
- package/Common/Runtime/SmallerJSON/IRawJsonProvider.cs +41 -41
- package/Common/Runtime/SmallerJSON/IRawJsonProvider.cs.meta +11 -11
- package/Common/Runtime/SmallerJSON/SmallerJSON.ArrayDict.cs +479 -479
- package/Common/Runtime/SmallerJSON/SmallerJSON.ArrayDict.cs.meta +11 -11
- package/Common/Runtime/SmallerJSON/SmallerJSON.FromString.cs +627 -627
- package/Common/Runtime/SmallerJSON/SmallerJSON.FromString.cs.meta +11 -11
- package/Common/Runtime/SmallerJSON/SmallerJSON.cs +1056 -1056
- package/Common/Runtime/SmallerJSON/SmallerJSON.cs.meta +11 -11
- package/Common/Runtime/SmallerJSON.meta +11 -11
- package/Common/Runtime/Spew/Logger.cs +418 -418
- package/Common/Runtime/Spew/Logger.cs.meta +11 -11
- package/Common/Runtime/Spew/SpewLoggerAttribute.cs +14 -14
- package/Common/Runtime/Spew/SpewLoggerAttribute.cs.meta +11 -11
- package/Common/Runtime/Spew.meta +11 -11
- package/Common/Runtime/Trie.cs +463 -463
- package/Common/Runtime/Trie.cs.meta +11 -11
- package/Common/Runtime/TypeExtensions.cs +66 -66
- package/Common/Runtime/TypeExtensions.cs.meta +11 -11
- package/Common/Runtime/Util/BeamAssemblyVersionUtil.cs +52 -52
- package/Common/Runtime/Util/BeamAssemblyVersionUtil.cs.meta +11 -11
- package/Common/Runtime/Util/BeamFileUtil.cs +27 -27
- package/Common/Runtime/Util/BeamFileUtil.cs.meta +11 -11
- package/Common/Runtime/Util/DocsPageHelper.cs +2 -2
- package/Common/Runtime/Util/DocsPageHelper.cs.meta +11 -11
- package/Common/Runtime/Util/NaturalStringComparer.cs +2 -2
- package/Common/Runtime/Util/NaturalStringComparer.cs.meta +11 -11
- package/Common/Runtime/Util.meta +11 -11
- package/Common/Runtime.meta +11 -11
- package/Editor/3rdParty/Splitter/SplitterGUILayout2.cs +194 -194
- package/Editor/BeamCli/BeamCli.cs +449 -417
- package/Editor/BeamCli/BeamCliUtil.cs +254 -254
- package/Editor/BeamCli/BeamCommand.cs +555 -552
- package/Editor/BeamCli/BeamWebCommand.cs +534 -534
- package/Editor/BeamCli/BeamWebHistory.cs +267 -267
- package/Editor/BeamCli/CliSpewLogger.cs +17 -17
- package/Editor/BeamCli/Commands/Beam.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamAccountMeCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamAccountMeExternalIdentity.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamBuildProjectCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamBuildSolutionCommandResults.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamCheckFixedResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamCheckGrafanaCommandResults.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamCheckPerfCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamCheckRegistryCommandResults.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamCheckResultsForBeamoId.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamCheckStatusServiceResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamChecksLockedFiles.cs +65 -0
- package/Editor/BeamCli/Commands/BeamChecksLockedFiles.cs.meta +11 -0
- package/Editor/BeamCli/Commands/BeamChecksScan.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamClearTempLogFilesCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamCliServiceComponent.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamCliServiceDependency.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamCliServiceManifest.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamCliServiceReference.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamCliServiceStorageReference.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamCollectorStatusResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamConfig.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamConfigCommandResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamConfigRealm.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamConfigRealmRemove.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamConfigRealmSet.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamConfigRoutes.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamConfigRoutesCommandResults.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamConfigRoutesCommandWebsocketResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamConstructVersionOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentArchiveManifest.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentArchiveManifestCommandResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentCreateLocalManifestCommandResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentListManifests.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentListManifestsCommandResults.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentNewManifest.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentProgressUpdateData.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentPs.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentPsCommandEvent.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentPsProgressMessage.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentPublish.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentPublishResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentResolve.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentResolveConflictResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentRestore.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentRestoreErrorReport.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentRestoreResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentSave.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentSnapshot.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentSnapshotList.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentSnapshotListItem.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentSnapshotListResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentSnapshotResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentSync.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentSyncReport.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentSyncResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentTagAdd.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentTagRm.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamContentTagSet.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamCopyProjectSrcToUnityCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeleteProjectCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDependencyData.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeployMode.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeployablePlan.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeploymentDiffSummary.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeploymentGet.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeploymentList.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeploymentManifestJsonDiff.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeploymentPlan.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeploymentPlanMetadata.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeploymentRegistry.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeploymentRelease.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeploymentStatus.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeveloperUserData.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeveloperUserManagerCleanCapturedUserBuffer.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeveloperUserManagerCreateUser.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeveloperUserManagerCreateUserBatch.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeveloperUserManagerPs.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeveloperUserManagerRemoveUser.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeveloperUserManagerSaveUser.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeveloperUserManagerUpdateInfo.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeveloperUserPsCommandEvent.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDeveloperUserResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDisableFederationCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDockerServiceDescriptor.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDockerStatusCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDownloadAllNugetDepsToUnityCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDownloadCollectorCommandResults.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamDownloadNugetDepToUnityCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamEraseStorageObjectCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamFederationDisable.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamFederationEnable.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamFederationEntry.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamFederationList.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamFederationLocalKey.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamFederationLocalSettingsGetIFederatedGameServer.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamFederationLocalSettingsSetIFederatedGameServer.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamFetchCommandLogRecord.cs +1 -0
- package/Editor/BeamCli/Commands/BeamFetchCommandLogRecord.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamFetchTelemetryLogsResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGameListCommandResults.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGenerateClientFileEvent.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGenerateClientOapiCommandArgsResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGenerateMkDocsCommandResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGenerateOApiCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGenerateWebClientCommandArgsResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGetBeamOtelConfigCommandResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGetClickhouseCredentialsResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGetDeploymentCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGetLocalRoutingKeyCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGetLogsUrlHeader.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGetSignedUrlResponse.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGetTokenDetailsCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGetTokenForGuestCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGetTokenListCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGetTokenListElement.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGetTokenViaRefreshCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGetUnityVersionInfoCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGrafanaOpen.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGrafanaPs.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamGrafanaStop.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamHostServiceDescriptor.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamInit.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamInitCommandResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamInvalidCidError.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamInvalidTokenError.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamInvalidTokenErrorOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamListCommandResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamListDeploymentsCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamListDepsCommandResults.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamListServicesCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamListenPlayer.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamListenServer.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamLockedFilesCheckCommandResult.cs +12 -0
- package/Editor/BeamCli/Commands/BeamLockedFilesCheckCommandResult.cs.meta +11 -0
- package/Editor/BeamCli/Commands/BeamLogin.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamLoginFailedError.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamLoginResults.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamLogout.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamLogoutCommandResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamManifestChecksum.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamManifestChecksums.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamManifestServiceEntry.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamManifestSnapshotItem.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamManifestStorageEntry.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamMe.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamMkdocs.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamNoTokenError.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamNotificationPlayerOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamNotificationServerOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamOapiDownload.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamOrgGames.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamOrgRealmData.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamOrgRealms.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamPlanReleaseProgress.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProcessInfo.cs +14 -0
- package/Editor/BeamCli/Commands/BeamProcessInfo.cs.meta +11 -0
- package/Editor/BeamCli/Commands/BeamProfileCheckCounters.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProfileCheckNbomber.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectAddPaths.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectAddUnityProject.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectBuild.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectBuildSln.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectDeps.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectDepsAdd.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectDepsList.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectDepsRemove.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectDisable.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectEnable.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectErrorReport.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectErrorResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectGenerateClient.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectGenerateClientOapi.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectGenerateEnv.cs +7 -0
- package/Editor/BeamCli/Commands/BeamProjectGenerateEnv.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectGenerateProperties.cs +2 -2
- package/Editor/BeamCli/Commands/BeamProjectGenerateProperties.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectGenerateWebClient.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectList.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectLogs.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectNewCommonLib.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectNewService.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectNewStorage.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectOapi.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectOpen.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectOpenMongo.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectOpenSwagger.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectPs.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectReadSettings.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectRegenerate.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectRemoteLogs.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectRemove.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectRun.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectSettingsOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectStop.cs +7 -0
- package/Editor/BeamCli/Commands/BeamProjectStop.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectStorageErase.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectStorageRestore.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectStorageSnapshot.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamProjectWriteSetting.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamReadProjectSettingsCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamRealmConfigOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamRealmRole.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamRealmsListCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamReleaseSharedUnityCodeCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamRemoteServiceDescriptor.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamRemoteStorageDescriptor.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamReportTelemetryResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamRequestCliCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamRequiredFileEdit.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamRestoreProjectCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamRestoreStorageObjectCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamRunFailErrorOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamRunProjectBuildErrorStream.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamRunProjectResultStream.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamSaveProjectPathsCommandResults.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServeCliCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServerClear.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServerDescriptor.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServerKillCommandResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServerPs.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServerPsCommandResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServerReq.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServerServe.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceDependenciesPair.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceDeployReportResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceFederationChange.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceFederations.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceImageIdChange.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceInstance.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceListResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceLogProviderChange.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceManifestOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceRemoteDeployProgressResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceRunProgressResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceRunReportResult.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceStatus.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServiceTemplate.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesBuild.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesBuildCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesBuiltProgress.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesDeploy.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesDockerStart.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesDockerStatus.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesForRouteCollection.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesGetConnectionString.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesGetConnectionStringCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesManifests.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesPromote.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesPs.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesRegistry.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesRegistryOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesResetContainer.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesResetContainerCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesResetImage.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesResetImageCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesRun.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesServiceLogs.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesServiceMetrics.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesStop.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesTemplates.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesTemplatesCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesUpdateDockerfile.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesUploadApi.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamServicesUploadApiOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamSetBeamOtelConfigCommandResults.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamSetEnabledCommandArgsOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamSetEnabledCommandComponent.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamSettingOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamShowCurrentBeamoStatusCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamShowManifestCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamSnapshotStorageObjectCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamStartDockerCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamStartGrafanaCommandResults.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamStopProjectCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTailLogMessageForClient.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTelemetryCollector.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTelemetryCollectorGet.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTelemetryCollectorPs.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTelemetryConfig.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTelemetryGetCreds.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTelemetryLogs.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTelemetryPrune.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTelemetryPush.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTelemetryReport.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTelemetrySetConfig.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTempClearLogs.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTokenFromRefresh.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTokenInspect.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTokenList.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamTokenNewGuest.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamUnityAssemblyReferenceData.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamUnityCopyDotnetSrc.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamUnityDownloadAllNugetPackages.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamUnityDownloadNugetPackage.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamUnityGetVersionInfo.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamUnityManifest.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamUnityReleaseSharedCode.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamUnityRestore.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamUnityUpdateDlls.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamUnityUpdateReferences.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamVersion.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamVersionConstruct.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamVersionResults.cs.meta +11 -11
- package/Editor/BeamCli/Commands/BeamWriteProjectSettingsCommandOutput.cs.meta +11 -11
- package/Editor/BeamCli/Extensions/BeamManifestServiceEntry_ComputedTypes.cs +53 -53
- package/Editor/BeamCli/Extensions/BeamManifestStorageEntry_ComputedTypes.cs +10 -10
- package/Editor/BeamCli/Extensions/DiscoveryExtensions.cs +57 -41
- package/Editor/BeamCli/Extensions/FederationsConfig.cs +22 -22
- package/Editor/BeamCli/UI/BeamCliJsonPopup.cs +29 -29
- package/Editor/BeamCli/UI/BeamCliTextPopup.cs +32 -32
- package/Editor/BeamCli/UI/BeamCliWindow.cs +174 -174
- package/Editor/BeamCli/UI/BeamCliWindow_Commands.cs +539 -512
- package/Editor/BeamCli/UI/BeamCliWindow_Overrides.cs +117 -117
- package/Editor/BeamCli/UI/BeamCliWindow_Server.cs +156 -156
- package/Editor/BeamCli/UI/BeamCliWindow_Terminal.cs +207 -207
- package/Editor/BeamCli/UI/BeamCliWindow_Util.cs +336 -336
- package/Editor/BeamCli/UI/JsonHighlighterUtil.cs +143 -143
- package/Editor/BeamCli/UI/LogUtil/LogViewUtil.cs +727 -727
- package/Editor/BeamCli/UI/TimeDisplayUtil.cs +22 -22
- package/Editor/BeamEditor.cs +758 -733
- package/Editor/BeamableLinker.cs +77 -77
- package/Editor/BuildPostProcessor.cs +44 -44
- package/Editor/BuildPreProcessor.cs +264 -264
- package/Editor/ContentService/CliContentService.cs +49 -18
- package/Editor/Dotnet/DotnetService.cs +193 -193
- package/Editor/Dotnet/DotnetUtil.cs +296 -296
- package/Editor/EditorAPI.cs +4 -4
- package/Editor/EditorPlatformRequesterErrorHandler.cs +28 -28
- package/Editor/EditorRuntimeConfigProvider.cs +19 -19
- package/Editor/EditorStorageLayer.cs +40 -40
- package/Editor/Eggs/EggEntry.cs +38 -38
- package/Editor/Eggs/Serpent/EggSerpent.cs +209 -209
- package/Editor/Environment/BeamableDiagnosticData.cs +198 -198
- package/Editor/Environment/BeamableEditorWebRequester.cs +62 -62
- package/Editor/Environment/BeamablePackages.cs +90 -90
- package/Editor/Environment/IEditorHttpRequester.cs +49 -49
- package/Editor/FileAssetModificationProcessor.cs +49 -49
- package/Editor/LibraryService.cs +297 -297
- package/Editor/Modules/Account/BeamableSocialsImporter.cs +59 -59
- package/Editor/Modules/Account/EditorAuthService.cs +244 -244
- package/Editor/Modules/Account/PortalCommand.cs +37 -37
- package/Editor/Modules/Content/CalendarWindow.cs +185 -185
- package/Editor/Modules/Content/ContentObjectPropertyDrawer.cs +26 -26
- package/Editor/Modules/Content/ContentPropertyDrawer.cs +372 -372
- package/Editor/Modules/Content/ContentValidationPropertyDrawer.cs +307 -307
- package/Editor/Modules/Content/DatePropertyDrawer.cs +355 -355
- package/Editor/Modules/Content/OptionalPropertyDrawer.cs +80 -80
- package/Editor/Modules/Content/PropertyDrawerHelper.cs +44 -44
- package/Editor/Modules/Content/ScheduleDefinitionPropertyDrawer.cs +554 -554
- package/Editor/Modules/Content/SerializedContentObject.cs +12 -12
- package/Editor/Modules/Content/UI/ContentObjectEditor.cs +395 -390
- package/Editor/Modules/Content/UI/DisplayableListPropertyDrawer.cs +47 -47
- package/Editor/Modules/Content/UI/EditorValidationContext.cs +7 -7
- package/Editor/Modules/Content/UI/SerializedDictionaryEditor.cs +208 -208
- package/Editor/Modules/ContentTypes/ContentTypesCreator.cs +58 -58
- package/Editor/Modules/EditorConfig/EditorConfiguration.cs +209 -209
- package/Editor/Modules/Input/InputActionPropertyDrawer.cs +138 -138
- package/Editor/Modules/Player/ObservableReadonlyListPropertyDrawer.cs +21 -21
- package/Editor/Modules/Purchasing/BeamablePurchaserImporter.cs +74 -74
- package/Editor/Modules/Sessions/DeviceOptionPropertyDrawer.cs +56 -56
- package/Editor/Modules/Sessions/SessionParameterProviderCreator.cs +111 -111
- package/Editor/Modules/Sessions/SessionParameterProviderEditor.cs +25 -25
- package/Editor/Modules/Stats/StatEditor.cs +18 -18
- package/Editor/Modules/Theme/ButtonStyleObject.cs +9 -9
- package/Editor/Modules/Theme/CanHideDrawer.cs +34 -34
- package/Editor/Modules/Theme/ColorStyleObject.cs +9 -9
- package/Editor/Modules/Theme/FilterSelection.cs +41 -41
- package/Editor/Modules/Theme/FontStyleObject.cs +9 -9
- package/Editor/Modules/Theme/GradientStyleObject.cs +9 -9
- package/Editor/Modules/Theme/ImageStyleObject.cs +9 -9
- package/Editor/Modules/Theme/LayoutStyleObject.cs +9 -9
- package/Editor/Modules/Theme/PaletteStyleObject.cs +30 -30
- package/Editor/Modules/Theme/SelectableStyleObject.cs +9 -9
- package/Editor/Modules/Theme/SoundStyleObject.cs +9 -9
- package/Editor/Modules/Theme/StringStyleObject.cs +9 -9
- package/Editor/Modules/Theme/Style/ButtonStyleObjectPropertyDrawer.cs +61 -61
- package/Editor/Modules/Theme/Style/GeneralPaletteBindingOptionDrawer.cs +25 -25
- package/Editor/Modules/Theme/Style/ThemeSelectorEditor.cs +79 -79
- package/Editor/Modules/Theme/TextStyleObject.cs +9 -9
- package/Editor/Modules/Theme/ThemeConfigurationPropertyDrawer.cs +64 -64
- package/Editor/Modules/Theme/TransformStyleObject.cs +9 -9
- package/Editor/Modules/Theme/WindowStyleObject.cs +9 -9
- package/Editor/NoOpAnalyticsTracker.cs +22 -22
- package/Editor/ReflectionCache/ReflectionCacheAssetPostProcessor.cs +68 -68
- package/Editor/ResetPlayerAccessTokenEditor.cs +63 -63
- package/Editor/Server/AssemblyDefinitionHelper.cs +237 -237
- package/Editor/Server/CommonAreaService.cs +198 -189
- package/Editor/Server/DependencyResolver.cs +177 -177
- package/Editor/Server/ExtensionMethods.cs +40 -40
- package/Editor/Server/MicroserviceConfiguration.cs +87 -87
- package/Editor/Server/RegisterDependencies.cs +33 -33
- package/Editor/Server/UI/Configs/BeamFederationSetting.cs +160 -160
- package/Editor/Server/UI/Configs/BeamStorageDependencySetting.cs +55 -55
- package/Editor/Server/UI/Configs/BeamableMicroservicesSettings.cs +180 -180
- package/Editor/Server/UI/Configs/BeamableStorageSettings.cs +83 -83
- package/Editor/Server/UI/FederationPropertyDrawer.cs +209 -209
- package/Editor/Server/UI/PublishWindow/UsamPublishWindow.cs +442 -442
- package/Editor/Server/UI/PublishWindow/UsamPublishWindow_FatalError.cs +39 -39
- package/Editor/Server/UI/PublishWindow/UsamPublishWindow_Plan.cs +125 -125
- package/Editor/Server/UI/PublishWindow/UsamPublishWindow_Review.cs +247 -247
- package/Editor/Server/UI/UsamWindow/ServicePickerWindow.cs +308 -308
- package/Editor/Server/UI/UsamWindow/UsamWindow.cs +94 -94
- package/Editor/Server/UI/UsamWindow/UsamWindow_Badges.cs +55 -55
- package/Editor/Server/UI/UsamWindow/UsamWindow_Create.cs +325 -325
- package/Editor/Server/UI/UsamWindow/UsamWindow_Docker.cs +111 -111
- package/Editor/Server/UI/UsamWindow/UsamWindow_Main.cs +321 -321
- package/Editor/Server/UI/UsamWindow/UsamWindow_Service.cs +313 -313
- package/Editor/Server/UI/UsamWindow/UsamWindow_Settings.cs +405 -405
- package/Editor/Server/UI/UsamWindow/UsamWindow_Storage.cs +237 -237
- package/Editor/Server/Usam/AssemblyUtil.cs +136 -136
- package/Editor/Server/Usam/CsProjUtil.cs +12 -12
- package/Editor/Server/Usam/CsharpProjectUtil.cs +325 -325
- package/Editor/Server/Usam/ServiceRoutingStrategy.cs +81 -81
- package/Editor/Server/Usam/UsamLogger.cs +46 -46
- package/Editor/Server/Usam/UsamService.cs +1152 -1150
- package/Editor/Server/Usam/UsamService_GenerateClient.cs +243 -243
- package/Editor/Server/Usam/UsamService_Reload.cs +119 -119
- package/Editor/Server/WebhookContentEditor/RouteParametersPropertyDrawer.cs +309 -309
- package/Editor/Server/WebhookContentEditor/RouteVariablesPropertyDrawer.cs +56 -56
- package/Editor/Server/WebhookContentEditor/ServiceRoutePropertyDrawer.cs +137 -137
- package/Editor/ServiceStorage.cs +128 -128
- package/Editor/SessionStorageLayer.cs +29 -29
- package/Editor/TextMeshProImporter.cs +101 -101
- package/Editor/Toolbar/BeamableToolbarAssetPostProcessor.cs +30 -32
- package/Editor/Toolbar/BeamableToolbarButton.cs +45 -45
- package/Editor/Toolbar/BeamableToolbarCallbacks.cs +153 -153
- package/Editor/Toolbar/BeamableToolbarExtender.cs +165 -137
- package/Editor/Toolbar/BeamableToolbarMenuItem.cs +40 -40
- package/Editor/Toolbar/MenuItems/AccountMenuItem.cs +51 -51
- package/Editor/Toolbar/MenuItems/BeamableConfigurationManagerMenuItem.cs +21 -21
- package/Editor/Toolbar/MenuItems/BeamableContentManagerMenuItem.cs +20 -20
- package/Editor/Toolbar/MenuItems/BeamableMicroserviceManagerMenuItem.cs +20 -20
- package/Editor/Toolbar/MenuItems/BeamablePortalMenuItem.cs +18 -18
- package/Editor/Toolbar/MenuItems/BeamableRealmMenuItem.cs +113 -100
- package/Editor/Toolbar/MenuItems/BeamableToolbarMenuItemSeparator.cs +17 -17
- package/Editor/Toolbar/MenuItems/BeamableToolboxWindowMenuItem.cs +20 -20
- package/Editor/Toolbar/ToolbarButtons/SampleBeamableButton.cs +27 -27
- package/Editor/UI/AccountWindow/AccountWindow.cs +3 -2
- package/Editor/UI/BeamEditorWindow.cs +393 -393
- package/Editor/UI/BeamGUI/BeamGUI_Dropdowns.cs +205 -205
- package/Editor/UI/BeamGUI/BeamGUI_Enabled.cs +31 -31
- package/Editor/UI/BeamGUI/BeamGUI_Header.cs +148 -148
- package/Editor/UI/BeamGUI/BeamGUI_Icons.cs +330 -330
- package/Editor/UI/BeamGUI/BeamGUI_LoadingBars.cs +105 -105
- package/Editor/UI/BeamGUI/BeamGUI_PlaceholdTextField.cs +64 -64
- package/Editor/UI/BeamGUI/BeamGUI_PrimaryButton.cs +178 -178
- package/Editor/UI/BeamGUI/BeamGUI_Spinner.cs +30 -30
- package/Editor/UI/BeamGUI/BeamGUI_StaticConstructor.cs +17 -17
- package/Editor/UI/BeamGUI/BeamGUI_Toggle.cs +41 -41
- package/Editor/UI/BeamGUI/PropertyDrawers/HelpBoxDecoratorDrawer.cs +32 -32
- package/Editor/UI/Common/FormConstraint.cs +53 -53
- package/Editor/UI/Common/MediaQueryObjectPropertyDrawer.cs +42 -42
- package/Editor/UI/Common/ReparenterCustomEditor.cs +24 -24
- package/Editor/UI/Config/BeamableSettingsProvider.cs +222 -222
- package/Editor/UI/Config/BeamableSpewSettingsProvider.cs +163 -163
- package/Editor/UI/Config/ConfigManager.cs +207 -207
- package/Editor/UI/Config/Model/ConfigOption.cs +26 -26
- package/Editor/UI/Config/Model/ConfigQuery.cs +114 -114
- package/Editor/UI/ContentWindow/ContentWindow.cs +6 -2
- package/Editor/UI/ContentWindow/ContentWindow_ItemsPanel.cs +24 -19
- package/Editor/UI/ContentWindow/ContentWindow_SnapshotManager.cs +2 -2
- package/Editor/UI/CronExpression/Common/Extensions.cs +23 -23
- package/Editor/UI/CronExpression/DescriptionTypeEnum.cs +18 -18
- package/Editor/UI/CronExpression/ExpressionDescriptor.cs +761 -761
- package/Editor/UI/CronExpression/Localization/CronLocalizationData.cs +77 -77
- package/Editor/UI/CronExpression/Localization/CronLocalizationDatabase.cs +15 -15
- package/Editor/UI/HelpMenuItems.cs +29 -29
- package/Editor/UI/IDelayedActionWindow.cs +10 -10
- package/Editor/UI/LibraryWindow/BeamLibraryWindow.cs +71 -71
- package/Editor/UI/LibraryWindow/BeamLibraryWindow_Main.cs +35 -35
- package/Editor/UI/LibraryWindow/BeamLibraryWindow_Samples.cs +330 -330
- package/Editor/UI/Toolbox/ToolboxWindow.cs +19 -19
- package/Editor/Utility/BeamableAssetDatabase.cs +30 -30
- package/Editor/Utility/BeamableDispatcher.cs +222 -222
- package/Editor/Utility/EditorDebouncer.cs +78 -78
- package/Editor/Utility/EditorFilesystemAccessor.cs +13 -13
- package/Editor/Utility/EditorGUIExtension.cs +148 -148
- package/Editor/Utility/EditorGUIRectController.cs +72 -72
- package/Editor/Utility/FilePathSelectorDrawer.cs +81 -81
- package/Editor/Utility/FileUtils.cs +76 -76
- package/Editor/Utility/PlayerSettingsExtensions.cs +54 -54
- package/Editor/Utility/PromiseEditor.cs +22 -22
- package/Editor/Utility/PropertyDrawerFinder.cs +235 -235
- package/Editor/Utility/ReadonlyIfDrawer.cs +56 -56
- package/Editor/Utility/ShowOnlyDrawer.cs +36 -36
- package/Editor/Utility/TaskUtil.cs +58 -58
- package/Editor/Utility/UnityOtelManager.cs +8 -4
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/BuildRequests.cs +961 -961
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/CoroutineClass.cs +1396 -1396
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/ExceptionHandlers.cs +295 -295
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/Helpers.cs +1337 -1337
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/IPubnubUnitTest.cs +31 -31
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/JSONSerializer.cs +62 -62
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/LoggingMethod.cs +661 -661
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/MD5.cs +723 -723
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/Pubnub.cs +1164 -1164
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/PubnubCallbacks.cs +464 -464
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/PubnubCrypto.cs +77 -77
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/PubnubUnity.cs +2080 -2080
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/ReconnectState.cs +180 -180
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/SafeDictionary.cs +204 -204
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/SharedStringBuilder.cs +23 -23
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/SharedStringBuilder.cs.meta +2 -2
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/SubscribeEnvelope.cs +226 -226
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/Subscription.cs +421 -421
- package/Runtime/3rdParty/PubNub/Scripts/Pubnub/Utility.cs +350 -350
- package/Runtime/3rdParty/UnityUIExtensions/ExtentionMethods.cs +19 -19
- package/Runtime/3rdParty/UnityUIExtensions/Gradient.cs +122 -122
- package/Runtime/3rdParty/UnityUIExtensions/HorizontalScrollSnap.cs +317 -317
- package/Runtime/3rdParty/UnityUIExtensions/IScrollSnap.cs +15 -15
- package/Runtime/3rdParty/UnityUIExtensions/ScrollSnap.cs +573 -573
- package/Runtime/3rdParty/UnityUIExtensions/ScrollSnapBase.cs +615 -615
- package/Runtime/3rdParty/UnityUIExtensions/ScrollSnapScrollbarHelper.cs +56 -56
- package/Runtime/3rdParty/UnityUIExtensions/UI_InfiniteScroll.cs +175 -175
- package/Runtime/3rdParty/VirtualList/Editor/AbstractVirtualListEditor.cs +43 -43
- package/Runtime/3rdParty/VirtualList/Runtime/AbstractVirtualList.cs +388 -388
- package/Runtime/3rdParty/VirtualList/Runtime/IListSource.cs +50 -50
- package/Runtime/3rdParty/VirtualList/Runtime/SimpleSource.cs +81 -81
- package/Runtime/3rdParty/VirtualList/Runtime/VirtualGridList.cs +123 -123
- package/Runtime/3rdParty/VirtualList/Runtime/VirtualHorizontalList.cs +84 -84
- package/Runtime/3rdParty/VirtualList/Runtime/VirtualVerticalList.cs +84 -84
- package/Runtime/3rdParty/WebSocket/WebSocket.cs +866 -866
- package/Runtime/API.cs +267 -267
- package/Runtime/Beam.cs +528 -528
- package/Runtime/BeamContext.cs +1037 -1037
- package/Runtime/Commands/CommandExtensions.cs +26 -26
- package/Runtime/Commands/ICommand.cs +7 -7
- package/Runtime/Connection/BeamableSubscriptionManager.cs +38 -38
- package/Runtime/Connection/IBeamableConnection.cs +30 -30
- package/Runtime/Connection/WebSocketConnection.cs +285 -285
- package/Runtime/Connection/WebSocketConnectionException.cs +9 -9
- package/Runtime/Core/Config/ConfigConsoleCommands.cs +69 -69
- package/Runtime/Core/Config/ConfigConsoleCommands.cs.meta +2 -2
- package/Runtime/Core/Config/ConfigDatabase.cs +253 -253
- package/Runtime/Core/Config/RuntimeConfigProvider.cs +86 -86
- package/Runtime/Core/ConsoleCommands/BeamableConsole.cs +169 -169
- package/Runtime/Core/ConsoleCommands/BeamableConsole.cs.meta +2 -2
- package/Runtime/Core/ConsoleCommands/BeamableConsoleCommandAttribute.cs +27 -27
- package/Runtime/Core/ConsoleCommands/BeamableConsoleCommandProviderAttribute.cs +15 -15
- package/Runtime/Core/ConsoleCommands/BeamableConsoleCommandProviderAttribute.cs.meta +2 -2
- package/Runtime/Core/ConsoleCommands/DefaultConsoleCommands.cs +45 -45
- package/Runtime/Core/ConsoleCommands/DefaultConsoleCommands.cs.meta +2 -2
- package/Runtime/Core/Coroutines/CompletedYieldInstruction.cs +14 -14
- package/Runtime/Core/Coroutines/CoroutineService.cs +115 -115
- package/Runtime/Core/Coroutines/Debouncer.cs +147 -147
- package/Runtime/Core/Coroutines/Yielders.cs +40 -40
- package/Runtime/Core/Extensions/TransformExtensions.cs +118 -118
- package/Runtime/Core/Platform/SDK/AccessToken.cs +151 -151
- package/Runtime/Core/Platform/SDK/AccessTokenStorage.cs +225 -225
- package/Runtime/Core/Platform/SDK/AdvertisingIdentifier/AdvertisingIdentifier.cs +30 -30
- package/Runtime/Core/Platform/SDK/Analytics/AnalyticsTracker.cs +200 -200
- package/Runtime/Core/Platform/SDK/Analytics/Batch/BatchContainer.cs +107 -107
- package/Runtime/Core/Platform/SDK/Analytics/Batch/BatchManager.cs +207 -207
- package/Runtime/Core/Platform/SDK/Analytics/Batch/IBatchContainer.cs +66 -66
- package/Runtime/Core/Platform/SDK/Analytics/Batch/PersistentBatchManager.cs +143 -143
- package/Runtime/Core/Platform/SDK/Analytics/Batch/SerializableBatch.cs +33 -33
- package/Runtime/Core/Platform/SDK/Analytics/Models/BillerPurchaseFailedEvent.cs +16 -16
- package/Runtime/Core/Platform/SDK/Analytics/Models/LoginPanicEvent.cs +19 -19
- package/Runtime/Core/Platform/SDK/Announcements/AnnouncementsService.cs +121 -121
- package/Runtime/Core/Platform/SDK/Auth/AuthService.cs +230 -230
- package/Runtime/Core/Platform/SDK/Auth/DeviceIdResolver.cs +24 -24
- package/Runtime/Core/Platform/SDK/Auth/GCIdentity.cs +24 -24
- package/Runtime/Core/Platform/SDK/Auth/GoogleSignIn.cs +89 -89
- package/Runtime/Core/Platform/SDK/Auth/SignInWithApple.cs +263 -263
- package/Runtime/Core/Platform/SDK/Auth/SignInWithFacebookLimited.cs +112 -112
- package/Runtime/Core/Platform/SDK/Auth/SignInWithGPG.cs +109 -109
- package/Runtime/Core/Platform/SDK/Auth/SignInWithGameCenter.cs +107 -107
- package/Runtime/Core/Platform/SDK/BeamableApiRequester.cs +112 -112
- package/Runtime/Core/Platform/SDK/Caches/OfflineCache.cs +319 -319
- package/Runtime/Core/Platform/SDK/Calendars/CalendarsService.cs +123 -123
- package/Runtime/Core/Platform/SDK/Chat/ChatProvider.cs +190 -190
- package/Runtime/Core/Platform/SDK/Chat/ChatService.cs +61 -61
- package/Runtime/Core/Platform/SDK/Chat/ChatView.cs +292 -292
- package/Runtime/Core/Platform/SDK/Chat/PubNubChatProvider.cs +51 -51
- package/Runtime/Core/Platform/SDK/Chat/PubNubRoom.cs +135 -135
- package/Runtime/Core/Platform/SDK/Chat/Room.cs +121 -121
- package/Runtime/Core/Platform/SDK/CloudData/CloudDataConsoleCommands.cs +52 -52
- package/Runtime/Core/Platform/SDK/CloudData/CloudDataService.cs +24 -24
- package/Runtime/Core/Platform/SDK/CloudSaving/CloudSavingError.cs +14 -14
- package/Runtime/Core/Platform/SDK/CloudSaving/CloudSavingExtensions.cs +82 -82
- package/Runtime/Core/Platform/SDK/CometClientData.cs +44 -44
- package/Runtime/Core/Platform/SDK/CometClientData.cs.meta +2 -2
- package/Runtime/Core/Platform/SDK/Commerce/CommerceConsoleCommands.cs +45 -45
- package/Runtime/Core/Platform/SDK/Commerce/CommerceService.cs +101 -101
- package/Runtime/Core/Platform/SDK/Commerce/ICommerceConfig.cs +19 -19
- package/Runtime/Core/Platform/SDK/Connectivity/Connectivity.cs +238 -238
- package/Runtime/Core/Platform/SDK/Connectivity/IConnectivityChecker.cs +109 -109
- package/Runtime/Core/Platform/SDK/ErrorCode.cs +62 -62
- package/Runtime/Core/Platform/SDK/Events/EventsService.cs +129 -129
- package/Runtime/Core/Platform/SDK/Groups/GroupsService.cs +58 -58
- package/Runtime/Core/Platform/SDK/Gzip.cs +51 -51
- package/Runtime/Core/Platform/SDK/Inventory/InventoryConsoleCommands.cs +65 -65
- package/Runtime/Core/Platform/SDK/Inventory/InventoryService.cs +149 -149
- package/Runtime/Core/Platform/SDK/Inventory/InventoryService.cs.meta +2 -2
- package/Runtime/Core/Platform/SDK/Inventory.meta +2 -2
- package/Runtime/Core/Platform/SDK/Leaderboard/LeaderboardService.cs +31 -31
- package/Runtime/Core/Platform/SDK/Mail/MailService.cs +44 -44
- package/Runtime/Core/Platform/SDK/Matchmaking/Match.cs +46 -46
- package/Runtime/Core/Platform/SDK/Matchmaking/MatchmakingService.cs +450 -450
- package/Runtime/Core/Platform/SDK/Matchmaking/Ticket.cs +36 -36
- package/Runtime/Core/Platform/SDK/Matchmaking/TicketReservationRequest.cs +43 -43
- package/Runtime/Core/Platform/SDK/Matchmaking/TicketReservationResponse.cs +21 -21
- package/Runtime/Core/Platform/SDK/Notification/Internal/AppleLocalNotificationRelay.cs +117 -117
- package/Runtime/Core/Platform/SDK/Notification/Internal/DummyLocalNotificationRelay.cs +33 -33
- package/Runtime/Core/Platform/SDK/Notification/Internal/GoogleLocalNotificationRelay.cs +86 -86
- package/Runtime/Core/Platform/SDK/Notification/Internal/ILocalNotificationRelay.cs +40 -40
- package/Runtime/Core/Platform/SDK/Notification/Internal/IMessageHandler.cs +11 -11
- package/Runtime/Core/Platform/SDK/Notification/Internal/InGameNotification.cs +39 -39
- package/Runtime/Core/Platform/SDK/Notification/Internal/MultiChannelSubscriptionHandler.cs +90 -90
- package/Runtime/Core/Platform/SDK/Notification/NotificationService.cs +505 -505
- package/Runtime/Core/Platform/SDK/Notification/PubnubData.cs +50 -50
- package/Runtime/Core/Platform/SDK/Notification/PubnubSubscriptionManager.cs +668 -668
- package/Runtime/Core/Platform/SDK/Notification/PushProvider.cs +25 -25
- package/Runtime/Core/Platform/SDK/Notification/PushService.cs +74 -74
- package/Runtime/Core/Platform/SDK/Payments/IBeamablePurchaser.cs +62 -62
- package/Runtime/Core/Platform/SDK/Payments/IPaymentServiceOptions.cs +38 -38
- package/Runtime/Core/Platform/SDK/Payments/PaymentErrorCodes.cs +17 -17
- package/Runtime/Core/Platform/SDK/Payments/PaymentModel.cs +75 -75
- package/Runtime/Core/Platform/SDK/Payments/PaymentService.cs +445 -445
- package/Runtime/Core/Platform/SDK/Payments/PaymentTransaction.cs +138 -138
- package/Runtime/Core/Platform/SDK/Payments/TransactionManager.cs +348 -348
- package/Runtime/Core/Platform/SDK/PlatformFilesystemAccessor.cs +14 -14
- package/Runtime/Core/Platform/SDK/PlatformRequester.cs +761 -761
- package/Runtime/Core/Platform/SDK/PlatformRequesterExceptions.cs +31 -31
- package/Runtime/Core/Platform/SDK/PlatformRequesterExtensions.cs +21 -21
- package/Runtime/Core/Platform/SDK/PlatformRequesterInterfaces.cs +29 -29
- package/Runtime/Core/Platform/SDK/PlatformService.cs +81 -81
- package/Runtime/Core/Platform/SDK/PlatformSubscribable.cs +621 -621
- package/Runtime/Core/Platform/SDK/Polyfill.cs +25 -25
- package/Runtime/Core/Platform/SDK/PubnubNotificationService.cs +42 -42
- package/Runtime/Core/Platform/SDK/Session/Heartbeat.cs +127 -127
- package/Runtime/Core/Platform/SDK/Session/SessionDeviceOptions.cs +213 -213
- package/Runtime/Core/Platform/SDK/Session/SessionParameterProvider.cs +61 -61
- package/Runtime/Core/Platform/SDK/Session/SessionService.cs +292 -292
- package/Runtime/Core/Platform/SDK/Session/SessionServiceHelper.cs +192 -192
- package/Runtime/Core/Platform/SDK/Sim/GameRelayService.cs +243 -243
- package/Runtime/Core/Platform/SDK/Sim/SimBehavior.cs +73 -73
- package/Runtime/Core/Platform/SDK/Sim/SimClient.cs +427 -427
- package/Runtime/Core/Platform/SDK/Sim/SimEvent.cs +39 -39
- package/Runtime/Core/Platform/SDK/Sim/SimFaultHandler.cs +172 -172
- package/Runtime/Core/Platform/SDK/Sim/SimFrame.cs +76 -76
- package/Runtime/Core/Platform/SDK/Sim/SimLog.cs +113 -113
- package/Runtime/Core/Platform/SDK/Sim/SimNetworkInterface.cs +79 -79
- package/Runtime/Core/Platform/SDK/Sim/network/eventStream/SimNetworkEventStream.cs +186 -186
- package/Runtime/Core/Platform/SDK/Sim/network/local/SimNetworkLocal.cs +62 -62
- package/Runtime/Core/Platform/SDK/Social/SocialService.cs +22 -22
- package/Runtime/Core/Platform/SDK/Stats/StatsService.cs +96 -96
- package/Runtime/Core/Platform/SDK/TokenAnalyticsUtil.cs +65 -65
- package/Runtime/Core/Platform/SDK/Tournaments/TournamentConsoleCommands.cs +87 -87
- package/Runtime/Core/Platform/SDK/Tournaments/TournamentService.cs +26 -26
- package/Runtime/Core/Platform/SDK/UnityUserDataCache.cs +169 -169
- package/Runtime/Core/Platform/TaskLikeExtensions.cs +26 -26
- package/Runtime/Core/Pooling/DisablePool.cs +104 -104
- package/Runtime/Core/Pooling/HidePool.cs +203 -203
- package/Runtime/Core/Pooling/HidePoolObject.cs +15 -15
- package/Runtime/Core/Pooling/HidePoolService.cs +64 -64
- package/Runtime/Core/Pooling/StaticClassPool.cs +82 -82
- package/Runtime/Core/Pooling/StringBuilderPool.cs +116 -116
- package/Runtime/Dependencies/GameObjectContext.cs +36 -36
- package/Runtime/Dependencies/ILoadWithContext.cs +12 -12
- package/Runtime/Environment/BeamableEnvironment.cs +134 -134
- package/Runtime/Environment/Resources/env-default.json +1 -1
- package/Runtime/Environment/Resources/versions-default.json +1 -1
- package/Runtime/ExperimentalAPI.cs +49 -49
- package/Runtime/GlobalServices/BeamableGlobalGameObject.cs +37 -37
- package/Runtime/HelpBoxDecoratorAttribute.cs +16 -16
- package/Runtime/InventoryViewEx.cs +171 -171
- package/Runtime/Modules/AccountManagement/Scripts/AccountAvatarBehaviour.cs +51 -51
- package/Runtime/Modules/AccountManagement/Scripts/AccountCustomizationBehaviour.cs +185 -185
- package/Runtime/Modules/AccountManagement/Scripts/AccountDisplayItem.cs +245 -245
- package/Runtime/Modules/AccountManagement/Scripts/AccountEmailLogin.cs +126 -126
- package/Runtime/Modules/AccountManagement/Scripts/AccountExistsSelect.cs +27 -27
- package/Runtime/Modules/AccountManagement/Scripts/AccountForgotPassword.cs +63 -63
- package/Runtime/Modules/AccountManagement/Scripts/AccountGeneralErrorBehaviour.cs +15 -15
- package/Runtime/Modules/AccountManagement/Scripts/AccountMainMenu.cs +315 -315
- package/Runtime/Modules/AccountManagement/Scripts/AccountManagementAdapter.cs +75 -75
- package/Runtime/Modules/AccountManagement/Scripts/AccountManagementBehaviour.cs +68 -68
- package/Runtime/Modules/AccountManagement/Scripts/AccountManagementCommands.cs +50 -50
- package/Runtime/Modules/AccountManagement/Scripts/AccountManagementConfiguration.cs +172 -172
- package/Runtime/Modules/AccountManagement/Scripts/AccountManagementHelper.cs +40 -40
- package/Runtime/Modules/AccountManagement/Scripts/AccountManagementSignals.cs +716 -716
- package/Runtime/Modules/AccountManagement/Scripts/AccountPlayerDataMenu.cs +94 -94
- package/Runtime/Modules/AccountManagement/Scripts/AccountSwitch.cs +55 -55
- package/Runtime/Modules/AccountManagement/Scripts/AccountThirdPartyWaitingMenu.cs +22 -22
- package/Runtime/Modules/AccountManagement/Scripts/AppleSignInBehavior.cs +64 -64
- package/Runtime/Modules/AccountManagement/Scripts/ForgotPasswordArguments.cs +10 -10
- package/Runtime/Modules/AccountManagement/Scripts/GoogleGameServicesBehavior.cs +67 -67
- package/Runtime/Modules/AccountManagement/Scripts/GoogleSignInBehavior.cs +70 -70
- package/Runtime/Modules/AccountManagement/Scripts/LoadingPopup.cs +34 -34
- package/Runtime/Modules/AccountManagement/Scripts/LoginArguments.cs +10 -10
- package/Runtime/Modules/AccountManagement/Scripts/ThirdPartyLoginArgument.cs +10 -10
- package/Runtime/Modules/AccountManagement/Scripts/TokenReference.cs +10 -10
- package/Runtime/Modules/Announcements/Rework/AnnouncementsCollection.cs +53 -53
- package/Runtime/Modules/Announcements/Rework/AnnouncementsPresenter.cs +70 -70
- package/Runtime/Modules/Announcements/Scripts/AnnouncementBehavior.cs +22 -22
- package/Runtime/Modules/Announcements/Scripts/AnnouncementMainMenu.cs +79 -79
- package/Runtime/Modules/Announcements/Scripts/AnnouncementReadMenu.cs +47 -47
- package/Runtime/Modules/Announcements/Scripts/AnnouncementSignals.cs +39 -39
- package/Runtime/Modules/Announcements/Scripts/AnnouncementSummary.cs +19 -19
- package/Runtime/Modules/Avatars/Scripts/AvatarConfiguration.cs +33 -33
- package/Runtime/Modules/Avatars/Scripts/AvatarPickerBehaviour.cs +99 -99
- package/Runtime/Modules/BeamableDisplayModule.cs +83 -83
- package/Runtime/Modules/BeamableModule.cs +17 -17
- package/Runtime/Modules/Calendars/Scripts/CalendarBehaviour.cs +85 -85
- package/Runtime/Modules/Calendars/Scripts/CalendarFlowMainPage.cs +8 -8
- package/Runtime/Modules/Calendars/Scripts/CalendarRewardsDay.cs +32 -32
- package/Runtime/Modules/Console/ConsoleConfiguration.cs +25 -25
- package/Runtime/Modules/Console/ConsoleFlow.cs +662 -662
- package/Runtime/Modules/Content/ContentCache.cs +184 -184
- package/Runtime/Modules/Content/ContentCommands.cs +161 -161
- package/Runtime/Modules/Content/ContentConfiguration.cs +161 -161
- package/Runtime/Modules/Content/ContentParameterProvider.cs +9 -9
- package/Runtime/Modules/Content/ContentService.cs +739 -739
- package/Runtime/Modules/Content/Extensions.cs +42 -42
- package/Runtime/Modules/Content/IManifestResolver.cs +42 -42
- package/Runtime/Modules/Content/Manifest.cs +22 -22
- package/Runtime/Modules/CoreConfiguration.cs +285 -285
- package/Runtime/Modules/CurrencyHUD/CurrencyHUDFlow.cs +74 -74
- package/Runtime/Modules/Generics/CollectionPresenter.cs +9 -9
- package/Runtime/Modules/Generics/DataCollection.cs +19 -19
- package/Runtime/Modules/Generics/DataPresenter.cs +40 -40
- package/Runtime/Modules/Generics/GenericButton.cs +21 -21
- package/Runtime/Modules/Generics/Model.cs +26 -26
- package/Runtime/Modules/Generics/ModelPresenter.cs +25 -25
- package/Runtime/Modules/Input/BeamableInput.cs +45 -45
- package/Runtime/Modules/Input/InputActionArg.cs +55 -55
- package/Runtime/Modules/Inventory/Prototype/GenericComponents/GenericTextButton.cs +36 -36
- package/Runtime/Modules/Inventory/Prototype/InventoryPresenter.cs +159 -159
- package/Runtime/Modules/Inventory/Prototype/ItemPresenter.cs +29 -29
- package/Runtime/Modules/Inventory/Prototype/ItemsCollection.cs +79 -79
- package/Runtime/Modules/Inventory/Prototype/LanguageLocalization/LanguageLocalizationElement.cs +47 -47
- package/Runtime/Modules/Inventory/Prototype/LanguageLocalization/LanguageLocalizationManager.cs +43 -43
- package/Runtime/Modules/Inventory/Prototype/LanguageLocalization/LocalizationHelper.cs +15 -15
- package/Runtime/Modules/Inventory/Scripts/InventoryBehaviour.cs +59 -59
- package/Runtime/Modules/Inventory/Scripts/InventoryCommands.cs +190 -190
- package/Runtime/Modules/Inventory/Scripts/InventoryConfiguration.cs +32 -32
- package/Runtime/Modules/Inventory/Scripts/InventoryGroupUI.cs +56 -56
- package/Runtime/Modules/Inventory/Scripts/InventoryMainMenu.cs +65 -65
- package/Runtime/Modules/Inventory/Scripts/InventoryMenuBehaviour.cs +56 -56
- package/Runtime/Modules/Inventory/Scripts/InventoryObjectUI.cs +38 -38
- package/Runtime/Modules/Inventory/Scripts/InventorySignals.cs +43 -43
- package/Runtime/Modules/Inventory/Scripts/ItemImageSetter.cs +41 -41
- package/Runtime/Modules/Leaderboards/Scripts/LeaderboardBehavior.cs +32 -32
- package/Runtime/Modules/Leaderboards/Scripts/LeaderboardItem.cs +24 -24
- package/Runtime/Modules/Leaderboards/Scripts/LeaderboardMainMenu.cs +80 -80
- package/Runtime/Modules/Leaderboards/Scripts/LeaderboardSignals.cs +33 -33
- package/Runtime/Modules/ModuleConfigurationObject.cs +212 -212
- package/Runtime/Modules/PackageUtil.cs +80 -80
- package/Runtime/Modules/Purchasing/PaymentCommands.cs +55 -55
- package/Runtime/Modules/Purchasing/Steam/SteamPurchasingModule.cs +20 -20
- package/Runtime/Modules/Purchasing/Steam/SteamStore.cs +147 -147
- package/Runtime/Modules/Purchasing/UnityBeamablePurchaser.cs +514 -514
- package/Runtime/Modules/Sessions/SessionConfiguration.cs +16 -16
- package/Runtime/Modules/Shop/Scripts/Defaults/BasicListingRenderer.cs +124 -124
- package/Runtime/Modules/Shop/Scripts/Defaults/BasicStoreRenderer.cs +60 -60
- package/Runtime/Modules/Shop/Scripts/Defaults/ObtainSummaryListCurrencyRenderer.cs +25 -25
- package/Runtime/Modules/Shop/Scripts/Defaults/ObtainSummaryListItemRenderer.cs +23 -23
- package/Runtime/Modules/Shop/Scripts/Defaults/ObtainSummaryListRenderer.cs +37 -37
- package/Runtime/Modules/Shop/Scripts/ListingContent.cs +36 -36
- package/Runtime/Modules/Shop/Scripts/ListingRenderer.cs +10 -10
- package/Runtime/Modules/Shop/Scripts/ObtainRenderer.cs +10 -10
- package/Runtime/Modules/Shop/Scripts/ShopConfiguration.cs +24 -24
- package/Runtime/Modules/Shop/Scripts/ShopFlow.cs +124 -124
- package/Runtime/Modules/Shop/Scripts/ShopLoadingMenu.cs +5 -5
- package/Runtime/Modules/Shop/Scripts/ShopRewardRenderer.cs +26 -26
- package/Runtime/Modules/Shop/Scripts/ShopSignals.cs +45 -45
- package/Runtime/Modules/Signals/DeSignal.cs +68 -68
- package/Runtime/Modules/Signals/DeSignalTower.cs +68 -68
- package/Runtime/Modules/Sound/Scripts/SoundConfiguration.cs +52 -52
- package/Runtime/Modules/Stats/StatBehaviour.cs +181 -181
- package/Runtime/Modules/Stats/StatObject.cs +106 -106
- package/Runtime/Modules/Stats/UserExtensions.cs +89 -89
- package/Runtime/Modules/Theme/Appliers/ButtonStyleApplier.cs +59 -59
- package/Runtime/Modules/Theme/Appliers/GradientStyleApplier.cs +32 -32
- package/Runtime/Modules/Theme/Appliers/ImageStyleApplier.cs +30 -30
- package/Runtime/Modules/Theme/Appliers/LayoutStyleApplier.cs +22 -22
- package/Runtime/Modules/Theme/Appliers/SelectableStyleApplier.cs +32 -32
- package/Runtime/Modules/Theme/Appliers/SoundStyleApplier.cs +27 -27
- package/Runtime/Modules/Theme/Appliers/StringStyleApplier.cs +20 -20
- package/Runtime/Modules/Theme/Appliers/StyleApplier.cs +28 -28
- package/Runtime/Modules/Theme/Appliers/TextStyleApplier.cs +57 -57
- package/Runtime/Modules/Theme/Appliers/TransformStyleApplier.cs +21 -21
- package/Runtime/Modules/Theme/Appliers/WindowStyleApplier.cs +51 -51
- package/Runtime/Modules/Theme/CanHideAttribute.cs +12 -12
- package/Runtime/Modules/Theme/Objects/GradientStyleObject.cs +33 -33
- package/Runtime/Modules/Theme/Objects/ImageStyleObject.cs +27 -27
- package/Runtime/Modules/Theme/Objects/LayoutStyleObject.cs +20 -20
- package/Runtime/Modules/Theme/Objects/SelectableStyleObject.cs +38 -38
- package/Runtime/Modules/Theme/Objects/TextStyleObject.cs +34 -34
- package/Runtime/Modules/Theme/Palette.cs +94 -94
- package/Runtime/Modules/Theme/PaletteStyleCopier.cs +34 -34
- package/Runtime/Modules/Theme/Palettes/ButtonPalette.cs +78 -78
- package/Runtime/Modules/Theme/Palettes/ColorPalette.cs +27 -27
- package/Runtime/Modules/Theme/Palettes/FontPalette.cs +28 -28
- package/Runtime/Modules/Theme/Palettes/GradientPalette.cs +57 -57
- package/Runtime/Modules/Theme/Palettes/ImagePalette.cs +31 -31
- package/Runtime/Modules/Theme/Palettes/LayoutPalette.cs +28 -28
- package/Runtime/Modules/Theme/Palettes/SelectablePalette.cs +36 -36
- package/Runtime/Modules/Theme/Palettes/SoundPalette.cs +30 -30
- package/Runtime/Modules/Theme/Palettes/StringPalette.cs +37 -37
- package/Runtime/Modules/Theme/Palettes/TextPalette.cs +61 -61
- package/Runtime/Modules/Theme/Palettes/TransformPalette.cs +29 -29
- package/Runtime/Modules/Theme/Palettes/WindowPalette.cs +43 -43
- package/Runtime/Modules/Theme/StyleBehaviour.cs +73 -73
- package/Runtime/Modules/Theme/StyleObject.cs +46 -46
- package/Runtime/Modules/Theme/ThemeConfiguration.cs +9 -9
- package/Runtime/Modules/Theme/ThemeObject.cs +160 -160
- package/Runtime/Modules/Tournaments/Scripts/CountdownTextBehaviour.cs +65 -65
- package/Runtime/Modules/Tournaments/Scripts/FixedCharacterFitter.cs +49 -49
- package/Runtime/Modules/Tournaments/Scripts/MockTournamentService.cs +221 -221
- package/Runtime/Modules/Tournaments/Scripts/TabBehaviour.cs +97 -97
- package/Runtime/Modules/Tournaments/Scripts/TournamenClaimableRewardBehaviour.cs +37 -37
- package/Runtime/Modules/Tournaments/Scripts/TournamentColorConstraint.cs +62 -62
- package/Runtime/Modules/Tournaments/Scripts/TournamentDataSource.cs +74 -74
- package/Runtime/Modules/Tournaments/Scripts/TournamentEntryBehavior.cs +221 -221
- package/Runtime/Modules/Tournaments/Scripts/TournamentEntryPlayerBehaviour.cs +152 -152
- package/Runtime/Modules/Tournaments/Scripts/TournamentInfoBehaviour.cs +33 -33
- package/Runtime/Modules/Tournaments/Scripts/TournamentInfoDetailBehaviour.cs +8 -8
- package/Runtime/Modules/Tournaments/Scripts/TournamentInfoDetailContainerBehaviour.cs +32 -32
- package/Runtime/Modules/Tournaments/Scripts/TournamentNumbersBehaviour.cs +20 -20
- package/Runtime/Modules/Tournaments/Scripts/TournamentRewardBehaviour.cs +21 -21
- package/Runtime/Modules/Tournaments/Scripts/TournamentRewardEntryBehaviour.cs +32 -32
- package/Runtime/Modules/Tournaments/Scripts/TournamentRewardPanelBehaviour.cs +78 -78
- package/Runtime/Modules/Tournaments/Scripts/TournamentScoreUtil.cs +77 -77
- package/Runtime/Modules/Tournaments/Scripts/TournamentStageGainBehaviour.cs +25 -25
- package/Runtime/Modules/Tournaments/Scripts/TournamentsBehaviour.cs +630 -630
- package/Runtime/Modules/Tournaments/Scripts/TournamentsConfiguration.cs +32 -32
- package/Runtime/PaymentExtensions.cs +16 -16
- package/Runtime/PlatformConsoleCommands.cs +559 -559
- package/Runtime/PlatformConsoleCommands.cs.meta +2 -2
- package/Runtime/Player/ApiServices.cs +162 -162
- package/Runtime/Player/BeamableBehaviour.cs +142 -142
- package/Runtime/Player/Leaderboards/LeaderboardLists.cs +216 -216
- package/Runtime/Player/Leaderboards/Lists/FriendScoresList.cs +76 -76
- package/Runtime/Player/Leaderboards/Lists/NearbyScoresList.cs +67 -67
- package/Runtime/Player/Leaderboards/Lists/PlayerCollectionScoresList.cs +52 -52
- package/Runtime/Player/Leaderboards/Lists/TopScoresList.cs +41 -41
- package/Runtime/Player/Leaderboards/PlayerLeaderboard.cs +774 -774
- package/Runtime/Player/Leaderboards/PlayerLeaderboards.cs +95 -95
- package/Runtime/Player/MonoBehaviourExtensions.cs +17 -17
- package/Runtime/Player/ObservableAccessToken.cs +12 -12
- package/Runtime/Player/ObservableUser.cs +30 -30
- package/Runtime/Player/PlayerAccounts.cs +2132 -2132
- package/Runtime/Player/PlayerAnnouncements.cs +239 -239
- package/Runtime/Player/PlayerCurrencies.cs +157 -157
- package/Runtime/Player/PlayerFriends.cs +661 -661
- package/Runtime/Player/PlayerInventory.cs +893 -893
- package/Runtime/Player/PlayerItemGroup.cs +200 -200
- package/Runtime/Player/PlayerLobby.cs +328 -328
- package/Runtime/Player/PlayerParty.cs +601 -601
- package/Runtime/Player/PlayerStateService.cs +44 -44
- package/Runtime/Player/PlayerStats.cs +238 -238
- package/Runtime/Player/SdkEventService.cs +259 -259
- package/Runtime/PromiseExtensions.cs +304 -304
- package/Runtime/ReflectionCache/BeamReflectionCache.cs +186 -186
- package/Runtime/ReflectionCache/ReflectionSystemObject.cs +55 -55
- package/Runtime/ReflectionCache/ThirdPartyIdentityReflectionCache.cs +84 -84
- package/Runtime/Server/BeamContextExtensions.cs +13 -13
- package/Runtime/Server/Content/ApiContentExtensions.cs +88 -88
- package/Runtime/Server/LegacyCommon/Mocks/MongoDB/Bson.meta +11 -11
- package/Runtime/Server/MicroserviceClient.cs +415 -415
- package/Runtime/Server/MicroserviceIndividualization.cs +80 -80
- package/Runtime/Server/MicroservicePrefixService.cs +10 -10
- package/Runtime/Server/ThirdPartyFederatedLoginExtensions.cs +60 -60
- package/Runtime/UI/Buttons/DeButtonBehaviour.cs +33 -33
- package/Runtime/UI/Layouts/MediaQueryBehaviour.cs +74 -74
- package/Runtime/UI/Layouts/MediaQueryObject.cs +118 -118
- package/Runtime/UI/Layouts/MediaSourceBehaviour.cs +49 -49
- package/Runtime/UI/Layouts/ReparenterBehaviour.cs +86 -86
- package/Runtime/UI/Layouts/StackLayout.cs +70 -70
- package/Runtime/UI/Lightbeam/DependencyExtensions.cs +359 -359
- package/Runtime/UI/Lightbeam/LightBeam.cs +155 -155
- package/Runtime/UI/Lightbeam/UIExtensions.cs +182 -182
- package/Runtime/UI/Prompt/DePromptBehaviour.cs +38 -38
- package/Runtime/UI/Prompt/DePromptData.cs +14 -14
- package/Runtime/UI/Scripts/AddressableImageBehaviour.cs +15 -15
- package/Runtime/UI/Scripts/AddressableSpriteLoader.cs +107 -107
- package/Runtime/UI/Scripts/BackButtonBehaviour.cs +14 -14
- package/Runtime/UI/Scripts/BeamableAnimationUtil.cs +100 -100
- package/Runtime/UI/Scripts/BeamableButton.cs +33 -33
- package/Runtime/UI/Scripts/BeamableWindow.cs +15 -15
- package/Runtime/UI/Scripts/ClickOffBehaviour.cs +42 -42
- package/Runtime/UI/Scripts/CloseButtonBehaviour.cs +14 -14
- package/Runtime/UI/Scripts/EventSoundBehaviour.cs +55 -55
- package/Runtime/UI/Scripts/GameObjectToggler.cs +25 -25
- package/Runtime/UI/Scripts/InputReference.cs +24 -24
- package/Runtime/UI/Scripts/InputValidationBehaviour.cs +153 -153
- package/Runtime/UI/Scripts/LoadingDisableBehaviour.cs +87 -87
- package/Runtime/UI/Scripts/LoadingIndicator.cs +117 -117
- package/Runtime/UI/Scripts/Menu.cs +47 -47
- package/Runtime/UI/Scripts/MenuManagementBehaviour.cs +268 -268
- package/Runtime/UI/Scripts/MobileUtilities.cs +84 -84
- package/Runtime/UI/Scripts/OfflineNotificationBehaviour.cs +37 -37
- package/Runtime/UI/Scripts/OfflineObject.cs +69 -69
- package/Runtime/UI/Scripts/ScrollButton.cs +23 -23
- package/Runtime/UI/Scripts/ScrollDotsBehaviour.cs +83 -83
- package/Runtime/UI/Scripts/ScrollToAlphaBehaviour.cs +47 -47
- package/Runtime/UI/Scripts/StickyScrollElement.cs +176 -176
- package/Runtime/UI/Scripts/TextReference.cs +15 -15
- package/Runtime/UI/Scripts/TextReferenceBase.cs +14 -14
- package/Runtime/UI/Scripts/TransformOffsetBehaviour.cs +61 -61
- package/Runtime/UI/TextField/DeTextFieldBehaviour.cs +48 -48
- package/Runtime/VectorIntExtensions.cs +45 -45
- package/Samples~/LightBeamSamples/AccountManager/AccountExampleConfig.cs +15 -15
- package/Samples~/LightBeamSamples/AccountManager/AccountManager.cs +57 -57
- package/Samples~/LightBeamSamples/AccountManager/Prefabs/AccountDetailsBehaviour/AccountDetailsBehaviour.cs +53 -53
- package/Samples~/LightBeamSamples/AccountManager/Prefabs/AccountDisplayBehaviour/AccountDisplayBehaviour.cs +51 -51
- package/Samples~/LightBeamSamples/AccountManager/Prefabs/AccountSwitchPage/AccountSwitchPage.cs +42 -42
- package/Samples~/LightBeamSamples/AccountManager/Prefabs/AvatarDisplay/AvatarDisplayBehaviour.cs +21 -21
- package/Samples~/LightBeamSamples/AccountManager/Prefabs/ForgotPasswordPage/ForgotPasswordPage.cs +64 -64
- package/Samples~/LightBeamSamples/AccountManager/Prefabs/HomePage/HomePage.cs +70 -70
- package/Samples~/LightBeamSamples/AccountManager/Prefabs/RecoverEmailPage/RecoverEmailPage.cs +131 -131
- package/Samples~/LightBeamSamples/AccountManager/Prefabs/RegisterEmailPage/RegisterEmailPage.cs +79 -79
- package/Samples~/LightBeamSamples/CurrencyHud/CurrencyHudManager.cs +40 -40
- package/Samples~/LightBeamSamples/CurrencyHud/Prefabs/CurrencyView/CurrencyViewBehaviour.cs +50 -50
- package/Samples~/LightBeamSamples/FriendsManager/FriendsExampleConfig.cs +13 -13
- package/Samples~/LightBeamSamples/FriendsManager/FriendsManager.cs +32 -32
- package/Samples~/LightBeamSamples/FriendsManager/Prefabs/BlockedDisplay/BlockedPlayersDisplayBehaviour.cs +25 -25
- package/Samples~/LightBeamSamples/FriendsManager/Prefabs/FriendDisplay/FriendDisplayBehaviour.cs +31 -31
- package/Samples~/LightBeamSamples/FriendsManager/Prefabs/HomePage/HomePage.cs +31 -31
- package/Samples~/LightBeamSamples/FriendsManager/Prefabs/PlayerFriendsDisplay/PlayerFriendsBehaviour.cs +194 -194
- package/Samples~/LightBeamSamples/FriendsManager/Prefabs/ReceivedInvitesDisplay/ReceivedInviteDisplayBehaviour.cs +31 -31
- package/Samples~/LightBeamSamples/FriendsManager/Prefabs/Selector/Editor/SelectorButtonBehaviourEditor.cs +27 -27
- package/Samples~/LightBeamSamples/FriendsManager/Prefabs/Selector/SelectorButtonBehaviour.cs +13 -13
- package/Samples~/LightBeamSamples/FriendsManager/Prefabs/SentInvitesDisplay/SentInviteDisplayBehaviour.cs +25 -25
- package/Samples~/LightBeamSamples/Inventory/InventoryExampleConfig.cs +12 -12
- package/Samples~/LightBeamSamples/Inventory/InventoryManager.cs +32 -32
- package/Samples~/LightBeamSamples/Inventory/Prefabs/CurrencyDisplay/CurrencyDisplayBehaviour.cs +48 -48
- package/Samples~/LightBeamSamples/Inventory/Prefabs/CurrencyInfoPage/CurrencyInfoBehaviour.cs +70 -70
- package/Samples~/LightBeamSamples/Inventory/Prefabs/HomePage/HomePage.cs +82 -82
- package/Samples~/LightBeamSamples/Inventory/Prefabs/ItemDisplay/ItemDisplayBehaviour.cs +51 -51
- package/Samples~/LightBeamSamples/Inventory/Prefabs/ItemInfoPage/ItemInfoPage.cs +74 -74
- package/Samples~/LightBeamSamples/Inventory/Prefabs/PropertyDisplay/PropertyDisplayBehaviour.cs +21 -21
- package/Samples~/LightBeamSamples/LobbyManager/LobbyExampleConfig.cs +14 -14
- package/Samples~/LightBeamSamples/LobbyManager/LobbyManager.cs +36 -36
- package/Samples~/LightBeamSamples/LobbyManager/Prefabs/CreateLobbyDisplay/CreateLobbyDisplayBehaviour.cs +54 -54
- package/Samples~/LightBeamSamples/LobbyManager/Prefabs/FindLobbyDisplay/FindLobbyDisplayBehaviour.cs +36 -36
- package/Samples~/LightBeamSamples/LobbyManager/Prefabs/HomePage/HomePage.cs +71 -71
- package/Samples~/LightBeamSamples/LobbyManager/Prefabs/JoinLobbyDisplay/JoinLobbyDisplayBehaviour.cs +75 -75
- package/Samples~/LightBeamSamples/LobbyManager/Prefabs/LobbyDetailsDisplay/LobbyDetailsDisplayBehaviour.cs +80 -80
- package/Samples~/LightBeamSamples/LobbyManager/Prefabs/LobbyDisplay/LobbyDisplayBehaviour.cs +27 -27
- package/Samples~/LightBeamSamples/LobbyManager/Prefabs/PlayerDisplay/PlayerIdDisplayBehaviour.cs +17 -17
- package/Samples~/LightBeamSamples/LobbyManager/Prefabs/PlayerLobby/PlayerLobbyBehaviour.cs +112 -112
- package/Samples~/LightBeamSamples/LootBox/BeamableServices~/LootBoxService/LootBoxService.cs +45 -45
- package/Samples~/LightBeamSamples/LootBox/BeamableServices~/LootBoxService/Program.cs +20 -20
- package/Samples~/LightBeamSamples/LootBox/LootBoxExampleConfig.cs +8 -8
- package/Samples~/LightBeamSamples/LootBox/LootBoxManager.cs +30 -30
- package/Samples~/LightBeamSamples/LootBox/Prefabs/LootBoxPage/LootBoxPage.cs +47 -47
- package/Samples~/LightBeamSamples/SceneLoader/Config/LightBeamSceneConfigObject_Editor.cs +37 -37
- package/Samples~/LightBeamSamples/SceneLoader/LightBeamBooter.cs +485 -485
- package/Samples~/LightBeamSamples/SceneLoader/Prefabs/SceneDisplay/SceneDisplayBehaviour.cs +25 -25
- package/Samples~/SampleProjectBase/Scripts/Editor/Beamable/Samples/SampleProjectBase/AutoOpenReadme.cs +46 -46
- package/Samples~/SampleProjectBase/Scripts/Editor/Beamable/Samples/SampleProjectBase/BeamableReadmeEditor.cs +158 -158
- package/Samples~/SampleProjectBase/Scripts/Runtime/Beamable/Samples/SampleProjectBase/Readme.cs +33 -33
- package/Template/SharedSample.cs +19 -19
- package/Tests/Editor/AliasHelperTests.cs +64 -64
- package/Tests/Editor/CLI/DataTransferTests.cs +65 -65
- package/Tests/Editor/Common/BeamUtil/SanitizeStringForPathTests.cs +18 -18
- package/Tests/Editor/Common/TrieTests.cs +253 -253
- package/Tests/Editor/Common/TryInvokeCallbackTests.cs +93 -93
- package/Tests/Editor/ContentObjectTests.cs +65 -65
- package/Tests/Editor/EditorDisruptorEngine/Content/ContentObjectFieldTests.cs +81 -81
- package/Tests/Editor/EditorDisruptorEngine/Content/ContentObjectLinkRefTests.cs +81 -81
- package/Tests/Editor/EditorDisruptorEngine/Content/ExampleContent.cs +10 -10
- package/Tests/Editor/EditorDisruptorEngine/Content/Schedules/CronTests.cs +189 -189
- package/Tests/Editor/EditorTest.cs +51 -51
- package/Tests/Editor/JsonPerfTesting.cs +117 -117
- package/Tests/Editor/JsonPerfTesting_PayloadSize.cs +96 -96
- package/Tests/Editor/JsonTestHelp.cs +82 -82
- package/Tests/Editor/MockLogProvider.cs +47 -47
- package/Tests/Editor/PreserveAttributeTests.cs +26 -26
- package/Tests/Editor/PromiseTests/ErrorTests.cs +582 -582
- package/Tests/Editor/SmallerJSON/InfinityTests.cs +61 -61
- package/Tests/Editor/SmallerJSON/JsonPathTests.cs +107 -107
- package/Tests/Editor/SmallerJSON/JsonSerializeTest.cs +135 -135
- package/Tests/Runtime/Beamable/BeamContextInitTests.cs +103 -103
- package/Tests/Runtime/Beamable/BeamContextTest.cs +72 -72
- package/Tests/Runtime/Beamable/BeamableTest.cs +46 -46
- package/Tests/Runtime/Beamable/Content/ClientManifest/ParseCSVTests.cs +102 -102
- package/Tests/Runtime/Beamable/Content/ContentRegistry/GetTypeFromIdTests.cs +164 -164
- package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/DeserializeEmptyFields.cs +114 -114
- package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/DeserializeTests.cs +1343 -1343
- package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/EscapedStringTests.cs +119 -119
- package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/GetNullStringForTypeTests.cs +104 -104
- package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/SerializeFieldSubclassSerializeTests.cs +157 -157
- package/Tests/Runtime/Beamable/Content/Serialization/ClientContentSerializer/SerializeTests.cs +1066 -1066
- package/Tests/Runtime/Beamable/Content/Serialization/TestContentRef.cs +66 -66
- package/Tests/Runtime/Beamable/Content/Serialization/VipContentSerialization/VipContentSerializationTests.cs +34 -34
- package/Tests/Runtime/Beamable/DebouncerTests.cs +110 -110
- package/Tests/Runtime/Beamable/Dependencies/ScopingTests.cs +235 -235
- package/Tests/Runtime/Beamable/Environment/PackageVersionTests/FromSemanticVersionStringTests.cs +161 -161
- package/Tests/Runtime/Beamable/Environment/PackageVersionTests/ImplicitConversionTest.cs +24 -24
- package/Tests/Runtime/Beamable/Environment/PackageVersionTests/RangeOperatorTests.cs +209 -209
- package/Tests/Runtime/Beamable/Environment/PackageVersionTests/ToStringTests.cs +64 -64
- package/Tests/Runtime/Beamable/MockAuthService.cs +218 -218
- package/Tests/Runtime/Beamable/MockBeamContext.cs +171 -171
- package/Tests/Runtime/Beamable/MockBeamableApi.cs +122 -122
- package/Tests/Runtime/Beamable/MockConfigurationHelper.cs +19 -19
- package/Tests/Runtime/Beamable/MockFileAccessor.cs +19 -19
- package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/AcceptAccountSwitchTests.cs +95 -95
- package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/CheckSignedInUserTests.cs +134 -134
- package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/LoginTests.cs +108 -108
- package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/TestHelperExtensions.cs +38 -38
- package/Tests/Runtime/Beamable/Modules/AccountManagement/AccountManagementSignalsTests/UpdateLoginEmailTests.cs +81 -81
- package/Tests/Runtime/Beamable/Modules/Leaderboards/IncrementTests.cs +88 -88
- package/Tests/Runtime/Beamable/Modules/Leaderboards/LeaderboardViewSerializeTests.cs +109 -109
- package/Tests/Runtime/Beamable/Modules/Shop/ListingContentTests/ValidateListingTests.cs +66 -66
- package/Tests/Runtime/Beamable/Modules/Stats/StatObjectTests/WriteTests.cs +42 -42
- package/Tests/Runtime/Beamable/Modules/Tournaments/TournamentScoreUtilTests/GetShortScoreTests.cs +329 -329
- package/Tests/Runtime/Beamable/Platform/AccessTokenStorageTests.cs +154 -154
- package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/AuthServiceTestBase.cs +39 -39
- package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/CustomDeviceIdTests.cs +51 -51
- package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/GetUserTests.cs +33 -33
- package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/IsEmailAvailableTests.cs +58 -58
- package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/LoginTests.cs +37 -37
- package/Tests/Runtime/Beamable/Platform/Auth/AuthServiceTests/RemoveDeviceIdTests.cs +69 -69
- package/Tests/Runtime/Beamable/Platform/Connectivity/MockConnectivityService.cs +45 -45
- package/Tests/Runtime/Beamable/Platform/Content/MockContentService.cs +140 -140
- package/Tests/Runtime/Beamable/Platform/Inventory/InventoryResponseTests/MergeViewTests.cs +245 -245
- package/Tests/Runtime/Beamable/Platform/Inventory/InventoryServiceTests/GetItemTests.cs +225 -225
- package/Tests/Runtime/Beamable/Platform/Inventory/InventoryServiceTests/InventoryServiceTestBase.cs +52 -52
- package/Tests/Runtime/Beamable/Platform/Inventory/InventoryServiceTests/UpdateTests.cs +73 -73
- package/Tests/Runtime/Beamable/Platform/Inventory/InventoryTestItem.cs +26 -26
- package/Tests/Runtime/Beamable/Platform/Inventory/InventoryUpdateBuilderTests/AddItemTests.cs +24 -24
- package/Tests/Runtime/Beamable/Platform/Inventory/InventoryUpdateBuilderTests/SerializationTests.cs +227 -227
- package/Tests/Runtime/Beamable/Platform/Inventory/InventoryUpdateBuilderTests/UnitySerializationTests.cs +215 -215
- package/Tests/Runtime/Beamable/Platform/Mail/MailTests.cs +67 -67
- package/Tests/Runtime/Beamable/Platform/MockConnectivityChecker.cs +24 -24
- package/Tests/Runtime/Beamable/Platform/MockPlatformAPI.cs +398 -398
- package/Tests/Runtime/Beamable/Platform/MockPlatformRequester.cs +78 -78
- package/Tests/Runtime/Beamable/Platform/MockPlatformService.cs +47 -47
- package/Tests/Runtime/Beamable/Platform/MockRequesterExtensions.cs +13 -13
- package/Tests/Runtime/Beamable/Platform/TestUtil.cs +59 -59
- package/Tests/Runtime/Beamable/Player/Accounts/ExternalIdentityQueryArgsTests.cs +132 -132
- package/Tests/Runtime/Beamable/Player/Announcements/AnnouncementGiftSerialization.cs +117 -117
- package/Tests/Runtime/Beamable/Player/Announcements/MockAnnouncementsApi.cs +45 -45
- package/Tests/Runtime/Beamable/Player/Announcements/MockNotificationService.cs +70 -70
- package/Tests/Runtime/Beamable/Player/Inventory/GetItemTests.cs +485 -485
- package/Tests/Runtime/Beamable/Player/Inventory/MockInventoryApi.cs +77 -77
- package/Tests/Runtime/Beamable/Player/Leaderboards/ResortTests.cs +236 -236
- package/Tests/Runtime/Beamable/Pooling/StringBuilderPoolTests/SpawnTests.cs +55 -55
- package/Tests/Runtime/Beamable/Promises/PromisePlayModeTests.cs +145 -145
- package/Tests/Runtime/Beamable/Promises/SequenceTests.cs +45 -45
- package/Tests/Runtime/Beamable/QueryBuilder/QueryBuilderTests.cs +94 -94
- package/Tests/Runtime/Server/Runtime/MicroserviceClient/RequestTests.cs +374 -374
- package/Tests/Runtime/Server/Runtime/MicroserviceClient/TestClient.cs +78 -78
- package/Tests/Runtime/Server/Runtime/TestRegistrations.cs +22 -22
- package/package.json +1 -1
|
@@ -1,1329 +1,1329 @@
|
|
|
1
|
-
// this file was copied from nuget package Beamable.Common@7.0.0-PREVIEW.
|
|
2
|
-
// https://www.nuget.org/packages/Beamable.Common/7.0.0-PREVIEW.
|
|
3
|
-
|
|
4
|
-
#if UNITY_WEBGL
|
|
5
|
-
#define DISABLE_THREADING
|
|
6
|
-
#endif
|
|
7
|
-
|
|
8
|
-
using Beamable.Common.Runtime.Collections;
|
|
9
|
-
using System;
|
|
10
|
-
using System.Collections;
|
|
11
|
-
using System.Collections.Generic;
|
|
12
|
-
using System.Diagnostics;
|
|
13
|
-
using System.Linq;
|
|
14
|
-
using System.Linq.Expressions;
|
|
15
|
-
using System.Reflection;
|
|
16
|
-
using System.Runtime.CompilerServices;
|
|
17
|
-
using System.Runtime.ExceptionServices;
|
|
18
|
-
|
|
19
|
-
#if (!DISABLE_BEAMABLE_ASYNCMETHODBUILDER && !UNITY_2021_2_OR_NEWER) || (NETSTANDARD2_0)
|
|
20
|
-
namespace System.Runtime.CompilerServices
|
|
21
|
-
{
|
|
22
|
-
public sealed class AsyncMethodBuilderAttribute : Attribute
|
|
23
|
-
{
|
|
24
|
-
public AsyncMethodBuilderAttribute(Type taskLike)
|
|
25
|
-
{ }
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
#endif
|
|
29
|
-
|
|
30
|
-
namespace Beamable.Common
|
|
31
|
-
{
|
|
32
|
-
/// <summary>
|
|
33
|
-
/// This type defines the base for the %Beamable %Promise.
|
|
34
|
-
///
|
|
35
|
-
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
36
|
-
///
|
|
37
|
-
/// #### Related Links
|
|
38
|
-
/// - See Beamable.Common.Promise script reference
|
|
39
|
-
///
|
|
40
|
-
/// ![img beamable-logo]
|
|
41
|
-
///
|
|
42
|
-
/// </summary>
|
|
43
|
-
public abstract class PromiseBase
|
|
44
|
-
{
|
|
45
|
-
protected Action<Exception> errbacks;
|
|
46
|
-
|
|
47
|
-
/// <summary>
|
|
48
|
-
/// True if there are any registered error handlers.
|
|
49
|
-
/// </summary>
|
|
50
|
-
public bool HadAnyErrbacks { protected set; get; }
|
|
51
|
-
|
|
52
|
-
protected Exception err;
|
|
53
|
-
protected ExceptionDispatchInfo errInfo;
|
|
54
|
-
protected StackTrace _errStackTrace;
|
|
55
|
-
protected object _lock = new object();
|
|
56
|
-
internal bool RaiseInnerException { get; set; }
|
|
57
|
-
|
|
58
|
-
#if DISABLE_THREADING
|
|
59
|
-
protected bool done { get; set; }
|
|
60
|
-
#else
|
|
61
|
-
private int _doneSignal = 0; // https://stackoverflow.com/questions/29411961/c-sharp-and-thread-safety-of-a-bool
|
|
62
|
-
protected bool done
|
|
63
|
-
{
|
|
64
|
-
get => (System.Threading.Interlocked.CompareExchange(ref _doneSignal, 1, 1) == 1);
|
|
65
|
-
set
|
|
66
|
-
{
|
|
67
|
-
if (value) System.Threading.Interlocked.CompareExchange(ref _doneSignal, 1, 0);
|
|
68
|
-
else System.Threading.Interlocked.CompareExchange(ref _doneSignal, 0, 1);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
#endif
|
|
72
|
-
|
|
73
|
-
public static readonly Unit Unit = new Unit();
|
|
74
|
-
|
|
75
|
-
public static Promise<Unit> SuccessfulUnit => Promise<Unit>.Successful(Unit);
|
|
76
|
-
|
|
77
|
-
/// <summary>
|
|
78
|
-
/// True when the promise has completed; false otherwise.
|
|
79
|
-
/// </summary>
|
|
80
|
-
public bool IsCompleted => done;
|
|
81
|
-
|
|
82
|
-
/// <summary>
|
|
83
|
-
/// True when the promise has completed and the promise has failed.
|
|
84
|
-
/// </summary>
|
|
85
|
-
public bool IsFailed => done && err != null;
|
|
86
|
-
|
|
87
|
-
private static event PromiseEvent OnPotentialUncaughtError;
|
|
88
|
-
|
|
89
|
-
public static bool HasUncaughtErrorHandler => OnPotentialUncaughtError != null;
|
|
90
|
-
|
|
91
|
-
/// <summary>
|
|
92
|
-
/// Set error handlers for uncaught promise errors. Beamable has a default handler set in its API initialization.
|
|
93
|
-
/// </summary>
|
|
94
|
-
/// <param name="handler">The new error handler.</param>
|
|
95
|
-
/// <param name="replaceExistingHandlers">When TRUE, will replace all previously set handlers. When FALSE, will add the given handler.</param>
|
|
96
|
-
public static void SetPotentialUncaughtErrorHandler(PromiseEvent handler, bool replaceExistingHandlers = true)
|
|
97
|
-
{
|
|
98
|
-
// This overwrites it everytime, blowing away any other listeners.
|
|
99
|
-
if (replaceExistingHandlers)
|
|
100
|
-
{
|
|
101
|
-
OnPotentialUncaughtError = handler;
|
|
102
|
-
}
|
|
103
|
-
else // This allows someone to override the functionality.
|
|
104
|
-
{
|
|
105
|
-
OnPotentialUncaughtError += handler;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
protected void InvokeUncaughtPromise()
|
|
110
|
-
{
|
|
111
|
-
OnPotentialUncaughtError?.Invoke(this, errInfo?.SourceException ?? err);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
public delegate void PromiseEvent(PromiseBase promise, Exception err);
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
public interface ITaskLike<TResult, TSelf> : ICriticalNotifyCompletion
|
|
120
|
-
where TSelf : ITaskLike<TResult, TSelf>
|
|
121
|
-
{
|
|
122
|
-
TResult GetResult();
|
|
123
|
-
|
|
124
|
-
bool IsCompleted { get; }
|
|
125
|
-
|
|
126
|
-
TSelf GetAwaiter();
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
public static class ITaskLikeExtensions
|
|
130
|
-
{
|
|
131
|
-
public static Promise<TResult> ToPromise<TResult, TSelf>(this ITaskLike<TResult, TSelf> taskLike)
|
|
132
|
-
where TSelf : ITaskLike<TResult, TSelf>
|
|
133
|
-
{
|
|
134
|
-
var promise = new Promise<TResult>();
|
|
135
|
-
taskLike.UnsafeOnCompleted(() => promise.CompleteSuccess(taskLike.GetResult()));
|
|
136
|
-
return promise;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/// <summary>
|
|
141
|
-
/// This type defines the %Beamable %Promise.
|
|
142
|
-
///
|
|
143
|
-
/// A promise is an object that may produce a single value some time in the future:
|
|
144
|
-
/// either a resolved value, or a reason that it’s not resolved (e.g., a network error occurred).
|
|
145
|
-
///
|
|
146
|
-
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
147
|
-
///
|
|
148
|
-
/// ![img beamable-logo]
|
|
149
|
-
///
|
|
150
|
-
/// </summary>
|
|
151
|
-
///
|
|
152
|
-
[AsyncMethodBuilder(typeof(PromiseAsyncMethodBuilder<>))]
|
|
153
|
-
public class Promise<T> : PromiseBase, ICriticalNotifyCompletion
|
|
154
|
-
{
|
|
155
|
-
private Action<T> _callbacks;
|
|
156
|
-
private T _val;
|
|
157
|
-
|
|
158
|
-
/// <summary>
|
|
159
|
-
/// Call to set the value and resolve the %Promise
|
|
160
|
-
/// </summary>
|
|
161
|
-
/// <param name="val"></param>
|
|
162
|
-
public void CompleteSuccess(T val)
|
|
163
|
-
{
|
|
164
|
-
lock (_lock)
|
|
165
|
-
{
|
|
166
|
-
if (done)
|
|
167
|
-
{
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
_val = val;
|
|
172
|
-
done = true;
|
|
173
|
-
try
|
|
174
|
-
{
|
|
175
|
-
_callbacks?.Invoke(val);
|
|
176
|
-
}
|
|
177
|
-
catch (Exception e)
|
|
178
|
-
{
|
|
179
|
-
BeamableLogger.LogException(e);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
_callbacks = null;
|
|
183
|
-
errbacks = null;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/// <summary>
|
|
188
|
-
/// Call to throw an exception and resolve the %Promise
|
|
189
|
-
/// </summary>
|
|
190
|
-
/// <param name="ex">exception to complete Promise with</param>
|
|
191
|
-
public void CompleteError(Exception ex)
|
|
192
|
-
{
|
|
193
|
-
lock (_lock)
|
|
194
|
-
{
|
|
195
|
-
if (done)
|
|
196
|
-
{
|
|
197
|
-
return;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
err = ex;
|
|
201
|
-
if (err.StackTrace == null)
|
|
202
|
-
{
|
|
203
|
-
err.SetStackTrace(new StackTrace());
|
|
204
|
-
}
|
|
205
|
-
done = true;
|
|
206
|
-
errInfo = ExceptionDispatchInfo.Capture(err);
|
|
207
|
-
|
|
208
|
-
try
|
|
209
|
-
{
|
|
210
|
-
if (!HadAnyErrbacks)
|
|
211
|
-
{
|
|
212
|
-
InvokeUncaughtPromise();
|
|
213
|
-
}
|
|
214
|
-
else
|
|
215
|
-
{
|
|
216
|
-
errbacks?.Invoke(ex);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
catch (Exception e)
|
|
220
|
-
{
|
|
221
|
-
BeamableLogger.LogException(e);
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
_callbacks = null;
|
|
225
|
-
errbacks = null;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
/// <summary>
|
|
230
|
-
/// Call to register a success completion handler callback for the %Promise
|
|
231
|
-
/// </summary>
|
|
232
|
-
/// <param name="callback"></param>
|
|
233
|
-
public Promise<T> Then(Action<T> callback)
|
|
234
|
-
{
|
|
235
|
-
lock (_lock)
|
|
236
|
-
{
|
|
237
|
-
if (done)
|
|
238
|
-
{
|
|
239
|
-
if (err == null)
|
|
240
|
-
{
|
|
241
|
-
try
|
|
242
|
-
{
|
|
243
|
-
callback(_val);
|
|
244
|
-
}
|
|
245
|
-
catch (Exception e)
|
|
246
|
-
{
|
|
247
|
-
BeamableLogger.LogException(e);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
else
|
|
251
|
-
{
|
|
252
|
-
// maybe there is no error handler for this guy...
|
|
253
|
-
if (!HadAnyErrbacks)
|
|
254
|
-
{
|
|
255
|
-
InvokeUncaughtPromise();
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
else
|
|
260
|
-
{
|
|
261
|
-
_callbacks += callback;
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
return this;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
/// <summary>
|
|
269
|
-
/// Combine the outcome of this promise with the given promise.
|
|
270
|
-
/// If this promise completes, the given promise will complete.
|
|
271
|
-
/// If this promise fails, the given promise will fail.
|
|
272
|
-
/// </summary>
|
|
273
|
-
/// <param name="other">Some promise other than this promise.</param>
|
|
274
|
-
/// <returns>The current promise instance</returns>
|
|
275
|
-
public Promise<T> Merge(Promise<T> other)
|
|
276
|
-
{
|
|
277
|
-
Then(other.CompleteSuccess);
|
|
278
|
-
Error(other.CompleteError);
|
|
279
|
-
return this;
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
public Promise<T> Merge(Promise other)
|
|
283
|
-
{
|
|
284
|
-
Then(x => other.CompleteSuccess(Unit));
|
|
285
|
-
Error(other.CompleteError);
|
|
286
|
-
return this;
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
/// <summary>
|
|
290
|
-
/// Call to register a failure completion handler callback for the %Promise
|
|
291
|
-
/// </summary>
|
|
292
|
-
/// <param name="errback"></param>
|
|
293
|
-
public Promise<T> Error(Action<Exception> errback)
|
|
294
|
-
{
|
|
295
|
-
lock (_lock)
|
|
296
|
-
{
|
|
297
|
-
HadAnyErrbacks = true;
|
|
298
|
-
if (done)
|
|
299
|
-
{
|
|
300
|
-
if (err != null)
|
|
301
|
-
{
|
|
302
|
-
try
|
|
303
|
-
{
|
|
304
|
-
errback(err);
|
|
305
|
-
}
|
|
306
|
-
catch (Exception e)
|
|
307
|
-
{
|
|
308
|
-
BeamableLogger.LogException(e);
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
else
|
|
313
|
-
{
|
|
314
|
-
errbacks += errback;
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
return this;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
/// <summary>
|
|
322
|
-
/// Takes a promise of type A, and returns a promise of
|
|
323
|
-
/// type B with a conversion applied.
|
|
324
|
-
/// </summary>
|
|
325
|
-
/// <param name="callback"></param>
|
|
326
|
-
/// <typeparam name="TU"></typeparam>
|
|
327
|
-
/// <returns></returns>
|
|
328
|
-
public Promise<TU> Map<TU>(Func<T, TU> callback)
|
|
329
|
-
{
|
|
330
|
-
var result = new Promise<TU>();
|
|
331
|
-
// need to forward the error handles of this one, to the next one.x
|
|
332
|
-
// result.Error(err => errbacks?.Invoke(err));
|
|
333
|
-
Then(value =>
|
|
334
|
-
{
|
|
335
|
-
try
|
|
336
|
-
{
|
|
337
|
-
var nextResult = callback(value);
|
|
338
|
-
result.CompleteSuccess(nextResult);
|
|
339
|
-
}
|
|
340
|
-
catch (Exception ex)
|
|
341
|
-
{
|
|
342
|
-
result.CompleteError(ex);
|
|
343
|
-
}
|
|
344
|
-
})
|
|
345
|
-
.Error(ex => result.CompleteError(ex))
|
|
346
|
-
;
|
|
347
|
-
return result;
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
/// <summary>
|
|
351
|
-
/// Takes a promise of type A, and returns a promise of
|
|
352
|
-
/// type B with a conversion applied and the promise hierarchy is flattened.
|
|
353
|
-
/// </summary>
|
|
354
|
-
/// <param name="callback"></param>
|
|
355
|
-
/// <param name="factory"></param>
|
|
356
|
-
/// <typeparam name="PromiseU"></typeparam>
|
|
357
|
-
/// <typeparam name="U"></typeparam>
|
|
358
|
-
/// <returns></returns>
|
|
359
|
-
public PromiseU FlatMap<PromiseU, U>(Func<T, PromiseU> callback, Func<PromiseU> factory)
|
|
360
|
-
where PromiseU : Promise<U>
|
|
361
|
-
{
|
|
362
|
-
var pu = factory();
|
|
363
|
-
FlatMap(callback)
|
|
364
|
-
.Then(pu.CompleteSuccess)
|
|
365
|
-
.Error(pu.CompleteError);
|
|
366
|
-
return pu;
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
/// <summary>
|
|
370
|
-
/// Takes a promise of type A, and returns a promise of
|
|
371
|
-
/// type B with a conversion applied and the promise hierarchy is flattened.
|
|
372
|
-
/// </summary>
|
|
373
|
-
/// <param name="callback"></param>
|
|
374
|
-
/// <typeparam name="TU"></typeparam>
|
|
375
|
-
/// <returns></returns>
|
|
376
|
-
public Promise<TU> FlatMap<TU>(Func<T, Promise<TU>> callback)
|
|
377
|
-
{
|
|
378
|
-
var result = new Promise<TU>();
|
|
379
|
-
Then(value =>
|
|
380
|
-
{
|
|
381
|
-
try
|
|
382
|
-
{
|
|
383
|
-
callback(value)
|
|
384
|
-
.Then(valueInner => result.CompleteSuccess(valueInner))
|
|
385
|
-
.Error(ex => result.CompleteError(ex));
|
|
386
|
-
}
|
|
387
|
-
catch (Exception ex)
|
|
388
|
-
{
|
|
389
|
-
result.CompleteError(ex);
|
|
390
|
-
}
|
|
391
|
-
}).Error(ex => { result.CompleteError(ex); });
|
|
392
|
-
return result;
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
/// <summary>
|
|
396
|
-
/// Call to set the value and resolve the %Promise
|
|
397
|
-
/// </summary>
|
|
398
|
-
/// <param name="value"></param>
|
|
399
|
-
/// <returns></returns>
|
|
400
|
-
public static Promise<T> Successful(T value)
|
|
401
|
-
{
|
|
402
|
-
return new Promise<T>
|
|
403
|
-
{
|
|
404
|
-
done = true,
|
|
405
|
-
_val = value
|
|
406
|
-
};
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
/// <summary>
|
|
410
|
-
/// Call to throw an exception and resolve the %Promise
|
|
411
|
-
/// </summary>
|
|
412
|
-
/// <param name="err"></param>
|
|
413
|
-
/// <returns></returns>
|
|
414
|
-
public static Promise<T> Failed(Exception err)
|
|
415
|
-
{
|
|
416
|
-
if (err?.StackTrace == null)
|
|
417
|
-
{
|
|
418
|
-
err?.SetStackTrace(new StackTrace());
|
|
419
|
-
}
|
|
420
|
-
ExceptionDispatchInfo errInfo = ExceptionDispatchInfo.Capture(err);
|
|
421
|
-
return new Promise<T>
|
|
422
|
-
{
|
|
423
|
-
done = true,
|
|
424
|
-
err = err,
|
|
425
|
-
errInfo = errInfo
|
|
426
|
-
};
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
void ICriticalNotifyCompletion.UnsafeOnCompleted(Action continuation)
|
|
430
|
-
{
|
|
431
|
-
Error(_ => continuation());
|
|
432
|
-
Then(_ => continuation());
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
void INotifyCompletion.OnCompleted(Action continuation)
|
|
436
|
-
{
|
|
437
|
-
((ICriticalNotifyCompletion)this).UnsafeOnCompleted(continuation);
|
|
438
|
-
}
|
|
439
|
-
|
|
440
|
-
/// <summary>
|
|
441
|
-
/// Get the result of the <see cref="Promise"/>.
|
|
442
|
-
/// </summary>
|
|
443
|
-
/// <returns></returns>
|
|
444
|
-
/// <exception cref="Exception"></exception>
|
|
445
|
-
public T GetResult()
|
|
446
|
-
{
|
|
447
|
-
if (err != null)
|
|
448
|
-
{
|
|
449
|
-
if (RaiseInnerException)
|
|
450
|
-
{
|
|
451
|
-
errInfo.Throw();
|
|
452
|
-
}
|
|
453
|
-
else throw err;
|
|
454
|
-
}
|
|
455
|
-
return _val;
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
/// <summary>
|
|
459
|
-
/// Get the awaiter of the <see cref="Promise"/>.
|
|
460
|
-
/// Once an awaiter is established, this promise will never raise an uncaught exception.
|
|
461
|
-
/// </summary>
|
|
462
|
-
/// <returns></returns>
|
|
463
|
-
/// <exception cref="Exception"></exception>
|
|
464
|
-
public Promise<T> GetAwaiter()
|
|
465
|
-
{
|
|
466
|
-
Error((ex) =>
|
|
467
|
-
{
|
|
468
|
-
// remove the ability for an uncaught exception to raise. As an awaiter, the .GetResult() method will trigger, which will THROW an error if one exists.
|
|
469
|
-
});
|
|
470
|
-
return this;
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
}
|
|
474
|
-
|
|
475
|
-
public static class ExceptionUtilities
|
|
476
|
-
{
|
|
477
|
-
private static readonly FieldInfo STACK_TRACE_STRING_FI = typeof(Exception).GetField("_stackTraceString", BindingFlags.NonPublic | BindingFlags.Instance);
|
|
478
|
-
private static readonly Type TRACE_FORMAT_TI = Type.GetType("System.Diagnostics.StackTrace").GetNestedType("TraceFormat", BindingFlags.NonPublic);
|
|
479
|
-
private static readonly MethodInfo TRACE_TO_STRING_MI = typeof(StackTrace).GetMethod("ToString", BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { TRACE_FORMAT_TI }, null);
|
|
480
|
-
|
|
481
|
-
public static Exception SetStackTrace(this Exception target, StackTrace stack)
|
|
482
|
-
{
|
|
483
|
-
var getStackTraceString = TRACE_TO_STRING_MI.Invoke(stack, new object[] { Enum.GetValues(TRACE_FORMAT_TI).GetValue(0) });
|
|
484
|
-
STACK_TRACE_STRING_FI.SetValue(target, getStackTraceString);
|
|
485
|
-
return target;
|
|
486
|
-
}
|
|
487
|
-
}
|
|
488
|
-
public class PromiseException : Exception
|
|
489
|
-
{
|
|
490
|
-
public PromiseException(Exception inner) : base($"Promise failed with exception {inner.Message}", inner)
|
|
491
|
-
{
|
|
492
|
-
|
|
493
|
-
}
|
|
494
|
-
}
|
|
495
|
-
|
|
496
|
-
/// <summary>
|
|
497
|
-
/// This type defines the %Beamable %SequencePromise.
|
|
498
|
-
///
|
|
499
|
-
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
500
|
-
///
|
|
501
|
-
/// #### Related Links
|
|
502
|
-
/// - See Beamable.Common.Promise script reference
|
|
503
|
-
///
|
|
504
|
-
/// ![img beamable-logo]
|
|
505
|
-
///
|
|
506
|
-
/// </summary>
|
|
507
|
-
public class SequencePromise<T> : Promise<IList<T>>
|
|
508
|
-
{
|
|
509
|
-
private Action<SequenceEntryException> _entryErrorCallbacks;
|
|
510
|
-
private Action<SequenceEntrySuccess<T>> _entrySuccessCallbacks;
|
|
511
|
-
|
|
512
|
-
private ConcurrentBag<SequenceEntryException> _errors = new ConcurrentBag<SequenceEntryException>();
|
|
513
|
-
private ConcurrentBag<SequenceEntrySuccess<T>> _successes = new ConcurrentBag<SequenceEntrySuccess<T>>();
|
|
514
|
-
|
|
515
|
-
private ConcurrentDictionary<int, object> _indexToResult = new ConcurrentDictionary<int, object>();
|
|
516
|
-
|
|
517
|
-
/// <summary>
|
|
518
|
-
/// The current count of successful promises
|
|
519
|
-
/// </summary>
|
|
520
|
-
public int SuccessCount => _successes.Count;
|
|
521
|
-
|
|
522
|
-
/// <summary>
|
|
523
|
-
/// The current count of failed promises
|
|
524
|
-
/// </summary>
|
|
525
|
-
public int ErrorCount => _errors.Count;
|
|
526
|
-
|
|
527
|
-
/// <summary>
|
|
528
|
-
/// The current count of completed promises
|
|
529
|
-
/// </summary>
|
|
530
|
-
public int Total => _errors.Count + _successes.Count;
|
|
531
|
-
|
|
532
|
-
/// <summary>
|
|
533
|
-
/// The number of promises that this sequence represents
|
|
534
|
-
/// </summary>
|
|
535
|
-
public int Count { get; }
|
|
536
|
-
|
|
537
|
-
/// <summary>
|
|
538
|
-
/// The ratio of completed promises to total promises. This will be 1 when all promises have completed.
|
|
539
|
-
/// </summary>
|
|
540
|
-
public float Ratio => HasProcessedAllEntries ? 1 : Total / (float)Count;
|
|
541
|
-
|
|
542
|
-
/// <summary>
|
|
543
|
-
/// True when all promises have completed; false otherwise
|
|
544
|
-
/// </summary>
|
|
545
|
-
public bool HasProcessedAllEntries => Total == Count;
|
|
546
|
-
|
|
547
|
-
/// <summary>
|
|
548
|
-
/// An enumeration of the successful results. There will be a <typeparamref name="T"/> for each successful promise.
|
|
549
|
-
/// </summary>
|
|
550
|
-
public IEnumerable<T> SuccessfulResults => _successes.Select(s => s.Result);
|
|
551
|
-
|
|
552
|
-
public SequencePromise(int count)
|
|
553
|
-
{
|
|
554
|
-
Count = count;
|
|
555
|
-
if (Count == 0)
|
|
556
|
-
{
|
|
557
|
-
CompleteSuccess();
|
|
558
|
-
}
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
/// <summary>
|
|
562
|
-
/// Attach a callback that will trigger anytime a promise fails
|
|
563
|
-
/// </summary>
|
|
564
|
-
/// <param name="handler">A callback that will be given a <see cref="SequenceEntryException"/> everytime a promise fails</param>
|
|
565
|
-
/// <returns>This instance</returns>
|
|
566
|
-
public SequencePromise<T> OnElementError(Action<SequenceEntryException> handler)
|
|
567
|
-
{
|
|
568
|
-
foreach (var existingError in _errors)
|
|
569
|
-
{
|
|
570
|
-
handler?.Invoke(existingError);
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
_entryErrorCallbacks += handler;
|
|
574
|
-
return this;
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
/// <summary>
|
|
578
|
-
/// Attach a callback that will trigger anytime a promise succeeds
|
|
579
|
-
/// </summary>
|
|
580
|
-
/// <param name="handler">A callback that will be given a <see cref="SequenceEntrySuccess{T}"/> everytime a promise succeeds</param>
|
|
581
|
-
/// <returns>This instance</returns>
|
|
582
|
-
public SequencePromise<T> OnElementSuccess(Action<SequenceEntrySuccess<T>> handler)
|
|
583
|
-
{
|
|
584
|
-
foreach (var success in _successes)
|
|
585
|
-
{
|
|
586
|
-
handler?.Invoke(success);
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
_entrySuccessCallbacks += handler;
|
|
590
|
-
return this;
|
|
591
|
-
}
|
|
592
|
-
|
|
593
|
-
/// <summary>
|
|
594
|
-
/// Mark the entire sequence promise as complete
|
|
595
|
-
/// </summary>
|
|
596
|
-
public void CompleteSuccess()
|
|
597
|
-
{
|
|
598
|
-
base.CompleteSuccess(SuccessfulResults.ToList());
|
|
599
|
-
}
|
|
600
|
-
|
|
601
|
-
/// <summary>
|
|
602
|
-
/// When a promise has failed, report the failure.
|
|
603
|
-
/// One failed promise will cause the entire sequence promise to be considered a failed promise.
|
|
604
|
-
/// </summary>
|
|
605
|
-
/// <param name="exception">The <see cref="SequenceEntryException"/> that occured</param>
|
|
606
|
-
public void ReportEntryError(SequenceEntryException exception)
|
|
607
|
-
{
|
|
608
|
-
if (_indexToResult.ContainsKey(exception.Index) || exception.Index >= Count) return;
|
|
609
|
-
|
|
610
|
-
_errors.Add(exception);
|
|
611
|
-
_indexToResult.TryAdd(exception.Index, exception);
|
|
612
|
-
_entryErrorCallbacks?.Invoke(exception);
|
|
613
|
-
|
|
614
|
-
CompleteError(exception.InnerException);
|
|
615
|
-
}
|
|
616
|
-
|
|
617
|
-
/// <summary>
|
|
618
|
-
/// When a promise has succeeded, report the success.
|
|
619
|
-
/// All promises must report success for the entire sequence promise to succeed.
|
|
620
|
-
/// </summary>
|
|
621
|
-
/// <param name="success">The <see cref="SequenceEntrySuccess{T}"/> that occured</param>
|
|
622
|
-
public void ReportEntrySuccess(SequenceEntrySuccess<T> success)
|
|
623
|
-
{
|
|
624
|
-
if (_indexToResult.ContainsKey(success.Index) || success.Index >= Count) return;
|
|
625
|
-
|
|
626
|
-
_successes.Add(success);
|
|
627
|
-
_indexToResult.TryAdd(success.Index, success);
|
|
628
|
-
_entrySuccessCallbacks?.Invoke(success);
|
|
629
|
-
|
|
630
|
-
if (HasProcessedAllEntries)
|
|
631
|
-
{
|
|
632
|
-
CompleteSuccess();
|
|
633
|
-
}
|
|
634
|
-
}
|
|
635
|
-
|
|
636
|
-
/// <summary>
|
|
637
|
-
/// <inheritdoc cref="ReportEntrySuccess(Beamable.Common.SequenceEntrySuccess{T})"/>
|
|
638
|
-
/// </summary>
|
|
639
|
-
/// <param name="index">The promise index that succeeded.</param>
|
|
640
|
-
/// <param name="result">The success value of the promise</param>
|
|
641
|
-
public void ReportEntrySuccess(int index, T result) =>
|
|
642
|
-
ReportEntrySuccess(new SequenceEntrySuccess<T>(index, result));
|
|
643
|
-
|
|
644
|
-
/// <summary>
|
|
645
|
-
/// <inheritdoc cref="ReportEntryError(Beamable.Common.SequenceEntryException)"/>
|
|
646
|
-
/// </summary>
|
|
647
|
-
/// <param name="index">The promise index that failed</param>
|
|
648
|
-
/// <param name="err">The exception that failed the promise</param>
|
|
649
|
-
public void ReportEntryError(int index, Exception err) =>
|
|
650
|
-
ReportEntryError(new SequenceEntryException(index, err));
|
|
651
|
-
}
|
|
652
|
-
|
|
653
|
-
// Do not add doxygen comments to "public static class Promise" because
|
|
654
|
-
// it confuses this with the doxygen output with "public class Promise" - srivello
|
|
655
|
-
[AsyncMethodBuilder(typeof(PromiseAsyncMethodBuilder))]
|
|
656
|
-
public class Promise : Promise<Unit>
|
|
657
|
-
{
|
|
658
|
-
public static Promise Success { get; } = new Promise { done = true };
|
|
659
|
-
|
|
660
|
-
public void CompleteSuccess() => CompleteSuccess(PromiseBase.Unit);
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
/// <summary>
|
|
664
|
-
/// This function accepts a generator that will produce a promise, and then
|
|
665
|
-
/// that promise will be executed.
|
|
666
|
-
///
|
|
667
|
-
/// If the promise fails, the <paramref name="shouldRetry"/> callback will be executed
|
|
668
|
-
/// with the Exception that caused the promise to fail. If the callback returns
|
|
669
|
-
/// `true`, then the generator function will be re-invoked to generate a new promise
|
|
670
|
-
/// instance.
|
|
671
|
-
///
|
|
672
|
-
/// This loop continues until the promise succeeds, the callback returns false,
|
|
673
|
-
/// or the callback has been called <paramref name="maxAttempts"/> times.
|
|
674
|
-
/// </summary>
|
|
675
|
-
/// <param name="promiseGenerator"></param>
|
|
676
|
-
/// <param name="shouldRetry"></param>
|
|
677
|
-
/// <param name="maxAttempts"></param>
|
|
678
|
-
/// <typeparam name="T"></typeparam>
|
|
679
|
-
/// <returns></returns>
|
|
680
|
-
/// <exception cref="InvalidOperationException"></exception>
|
|
681
|
-
public static async Promise<T> RetryPromise<T>(Func<Promise<T>> promiseGenerator, Func<Exception, bool> shouldRetry, int maxAttempts = 1000)
|
|
682
|
-
{
|
|
683
|
-
Exception lastEx = null;
|
|
684
|
-
while (maxAttempts-- > 0)
|
|
685
|
-
{
|
|
686
|
-
try
|
|
687
|
-
{
|
|
688
|
-
var promise = promiseGenerator();
|
|
689
|
-
var result = await promise;
|
|
690
|
-
return result;
|
|
691
|
-
}
|
|
692
|
-
catch (Exception ex)
|
|
693
|
-
{
|
|
694
|
-
lastEx = ex;
|
|
695
|
-
if (!shouldRetry(ex))
|
|
696
|
-
{
|
|
697
|
-
throw;
|
|
698
|
-
}
|
|
699
|
-
}
|
|
700
|
-
}
|
|
701
|
-
|
|
702
|
-
throw new InvalidOperationException("promise failed to complete after maximum retry count", lastEx);
|
|
703
|
-
}
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
/// <summary>
|
|
707
|
-
/// Create a <see cref="SequencePromise{T}"/> from List of <see cref="Promise{T}"/>
|
|
708
|
-
/// </summary>
|
|
709
|
-
/// <param name="promises"></param>
|
|
710
|
-
/// <typeparam name="T"></typeparam>
|
|
711
|
-
/// <returns></returns>
|
|
712
|
-
public static SequencePromise<T> ObservableSequence<T>(IList<Promise<T>> promises)
|
|
713
|
-
{
|
|
714
|
-
var result = new SequencePromise<T>(promises.Count);
|
|
715
|
-
|
|
716
|
-
if (promises == null || promises.Count == 0)
|
|
717
|
-
{
|
|
718
|
-
result.CompleteSuccess();
|
|
719
|
-
return result;
|
|
720
|
-
}
|
|
721
|
-
|
|
722
|
-
for (var i = 0; i < promises.Count; i++)
|
|
723
|
-
{
|
|
724
|
-
var index = i;
|
|
725
|
-
promises[i].Then(reply =>
|
|
726
|
-
{
|
|
727
|
-
result.ReportEntrySuccess(new SequenceEntrySuccess<T>(index, reply));
|
|
728
|
-
|
|
729
|
-
if (result.Total == promises.Count)
|
|
730
|
-
{
|
|
731
|
-
result.CompleteSuccess();
|
|
732
|
-
}
|
|
733
|
-
}).Error(err =>
|
|
734
|
-
{
|
|
735
|
-
result.ReportEntryError(new SequenceEntryException(index, err));
|
|
736
|
-
result.CompleteError(err);
|
|
737
|
-
});
|
|
738
|
-
}
|
|
739
|
-
|
|
740
|
-
return result;
|
|
741
|
-
}
|
|
742
|
-
|
|
743
|
-
/// <summary>
|
|
744
|
-
/// Create a <see cref="Promise"/> of List from a List of <see cref="Promise"/>s.
|
|
745
|
-
/// </summary>
|
|
746
|
-
/// <param name="promises"></param>
|
|
747
|
-
/// <typeparam name="T"></typeparam>
|
|
748
|
-
/// <returns></returns>
|
|
749
|
-
public static Promise<List<T>> Sequence<T>(IList<Promise<T>> promises)
|
|
750
|
-
{
|
|
751
|
-
var result = new Promise<List<T>>();
|
|
752
|
-
var replies = new List<T>();
|
|
753
|
-
var completeCount = new AtomicInt();
|
|
754
|
-
for (var i = 0; i < promises.Count; i++)
|
|
755
|
-
{
|
|
756
|
-
replies.Add(default);
|
|
757
|
-
}
|
|
758
|
-
|
|
759
|
-
if (promises.Count == 0)
|
|
760
|
-
{
|
|
761
|
-
result.CompleteSuccess(replies);
|
|
762
|
-
return result;
|
|
763
|
-
}
|
|
764
|
-
|
|
765
|
-
for (var i = 0; i < promises.Count; i++)
|
|
766
|
-
{
|
|
767
|
-
var index = i;
|
|
768
|
-
|
|
769
|
-
promises[index].Then(reply =>
|
|
770
|
-
{
|
|
771
|
-
replies[index] = reply;
|
|
772
|
-
completeCount.Increment();
|
|
773
|
-
|
|
774
|
-
if (completeCount.Value == promises.Count)
|
|
775
|
-
{
|
|
776
|
-
result.CompleteSuccess(replies);
|
|
777
|
-
}
|
|
778
|
-
}).Error(err => result.CompleteError(err));
|
|
779
|
-
}
|
|
780
|
-
|
|
781
|
-
return result;
|
|
782
|
-
}
|
|
783
|
-
|
|
784
|
-
/// <summary>
|
|
785
|
-
/// Create Sequence <see cref="Promise"/> from an array of <see cref="Promise"/>s.
|
|
786
|
-
/// </summary>
|
|
787
|
-
/// <param name="promises"></param>
|
|
788
|
-
/// <typeparam name="T"></typeparam>
|
|
789
|
-
/// <returns></returns>
|
|
790
|
-
public static Promise<List<T>> Sequence<T>(params Promise<T>[] promises)
|
|
791
|
-
{
|
|
792
|
-
return Sequence((IList<Promise<T>>)promises);
|
|
793
|
-
}
|
|
794
|
-
|
|
795
|
-
/// <summary>
|
|
796
|
-
/// Given a list of promise generator functions, process the whole list, but serially.
|
|
797
|
-
/// Only one promise will be active at any given moment.
|
|
798
|
-
/// </summary>
|
|
799
|
-
/// <param name="generators"></param>
|
|
800
|
-
/// <param name="stopWhen"></param>
|
|
801
|
-
/// <typeparam name="T"></typeparam>
|
|
802
|
-
/// <returns>A single promise of Unit to represent the completion of the processing. Any other side effects need to be handled separately</returns>
|
|
803
|
-
public static Promise<Unit> ExecuteSerially<T>(List<Func<Promise<T>>> generators, Func<bool> stopWhen = null)
|
|
804
|
-
{
|
|
805
|
-
#if DISABLE_THREADING // unity doesn't supporting System.Threading
|
|
806
|
-
// use a tail recursion approach. It'll stink for massive lists, but at least it works for small ones
|
|
807
|
-
if (generators.Count == 0)
|
|
808
|
-
{
|
|
809
|
-
return PromiseBase.SuccessfulUnit;
|
|
810
|
-
}
|
|
811
|
-
var first = generators.First();
|
|
812
|
-
var rest = generators.Skip(1).ToList();
|
|
813
|
-
return first().FlatMap(_ => ExecuteSerially<T>(rest));
|
|
814
|
-
#else
|
|
815
|
-
async System.Threading.Tasks.Task Execute()
|
|
816
|
-
{
|
|
817
|
-
for (var i = 0; i < generators.Count; i++)
|
|
818
|
-
{
|
|
819
|
-
if (stopWhen != null && stopWhen())
|
|
820
|
-
{
|
|
821
|
-
break;
|
|
822
|
-
}
|
|
823
|
-
|
|
824
|
-
var generator = generators[i];
|
|
825
|
-
var promise = generator();
|
|
826
|
-
await promise;
|
|
827
|
-
}
|
|
828
|
-
}
|
|
829
|
-
|
|
830
|
-
return Execute().ToPromise();
|
|
831
|
-
#endif
|
|
832
|
-
}
|
|
833
|
-
|
|
834
|
-
private interface IAtomicInt
|
|
835
|
-
{
|
|
836
|
-
int Value { get; }
|
|
837
|
-
void Increment();
|
|
838
|
-
void Decrement();
|
|
839
|
-
}
|
|
840
|
-
|
|
841
|
-
#if DISABLE_THREADING
|
|
842
|
-
private class AtomicInt : IAtomicInt
|
|
843
|
-
{
|
|
844
|
-
public int Value { get; private set; }
|
|
845
|
-
public void Increment()
|
|
846
|
-
{
|
|
847
|
-
Value++;
|
|
848
|
-
}
|
|
849
|
-
|
|
850
|
-
public void Decrement()
|
|
851
|
-
{
|
|
852
|
-
Value--;
|
|
853
|
-
}
|
|
854
|
-
}
|
|
855
|
-
#else
|
|
856
|
-
private class AtomicInt : IAtomicInt
|
|
857
|
-
{
|
|
858
|
-
private int v;
|
|
859
|
-
|
|
860
|
-
public int Value => System.Threading.Interlocked.CompareExchange(ref v, 0, 0);
|
|
861
|
-
|
|
862
|
-
public void Increment()
|
|
863
|
-
{
|
|
864
|
-
System.Threading.Interlocked.Increment(ref v);
|
|
865
|
-
}
|
|
866
|
-
|
|
867
|
-
public void Decrement()
|
|
868
|
-
{
|
|
869
|
-
System.Threading.Interlocked.Decrement(ref v);
|
|
870
|
-
}
|
|
871
|
-
}
|
|
872
|
-
#endif
|
|
873
|
-
|
|
874
|
-
/// <summary>
|
|
875
|
-
/// Given a list of promise generator functions, process the list, but in a rolling fashion.
|
|
876
|
-
/// </summary>
|
|
877
|
-
/// <param name="maxProcessSize"></param>
|
|
878
|
-
/// <param name="generators"></param>
|
|
879
|
-
/// <param name="stopWhen"></param>
|
|
880
|
-
/// <typeparam name="T"></typeparam>
|
|
881
|
-
/// <returns></returns>
|
|
882
|
-
[Obsolete("This method isn't safe to use one devices with low callstack limits like Javascript, or Android. Use " + nameof(ExecuteInBatchSequence) + " instead.")]
|
|
883
|
-
public static SequencePromise<T> ExecuteRolling<T>(int maxProcessSize, List<Func<Promise<T>>> generators, Func<bool> stopWhen = null)
|
|
884
|
-
{
|
|
885
|
-
return ExecuteInBatchSequence(maxProcessSize, generators, stopWhen);
|
|
886
|
-
}
|
|
887
|
-
|
|
888
|
-
/// <summary>
|
|
889
|
-
/// Given a list of promise generator functions, process the list, but in batches of some size.
|
|
890
|
-
/// The batches themselves will run one at a time. Every promise in the current batch must finish before the next batch can start.
|
|
891
|
-
/// </summary>
|
|
892
|
-
/// <param name="maxBatchSize"></param>
|
|
893
|
-
/// <param name="generators"></param>
|
|
894
|
-
/// <typeparam name="T"></typeparam>
|
|
895
|
-
/// <returns>A single promise of Unit to represent the completion of the processing. Any other side effects need to be handled separately</returns>
|
|
896
|
-
public static Promise<Unit> ExecuteInBatch<T>(int maxBatchSize, List<Func<Promise<T>>> generators)
|
|
897
|
-
{
|
|
898
|
-
var batches = new List<List<Func<Promise<T>>>>();
|
|
899
|
-
|
|
900
|
-
// create batches...
|
|
901
|
-
for (var i = 0; i < generators.Count; i += maxBatchSize)
|
|
902
|
-
{
|
|
903
|
-
var start = i;
|
|
904
|
-
var minBatchSize = generators.Count - start;
|
|
905
|
-
var count = minBatchSize < maxBatchSize ? minBatchSize : maxBatchSize; // min()
|
|
906
|
-
var batch = generators.GetRange(start, count);
|
|
907
|
-
batches.Add(batch);
|
|
908
|
-
}
|
|
909
|
-
|
|
910
|
-
Promise<List<T>> ProcessBatch(List<Func<Promise<T>>> batch)
|
|
911
|
-
{
|
|
912
|
-
// start all generators in batch...
|
|
913
|
-
return Promise.Sequence(batch.Select(generator => generator()).ToList());
|
|
914
|
-
}
|
|
915
|
-
|
|
916
|
-
// run each batch, serially...
|
|
917
|
-
var batchRunners = batches.Select(batch => new Func<Promise<List<T>>>(() => ProcessBatch(batch))).ToList();
|
|
918
|
-
|
|
919
|
-
return ExecuteSerially(batchRunners);
|
|
920
|
-
}
|
|
921
|
-
|
|
922
|
-
public static SequencePromise<T> ExecuteInBatchSequence<T>(int maxBatchSize, List<Func<Promise<T>>> generators, Func<bool> stopWhen = null)
|
|
923
|
-
{
|
|
924
|
-
var batches = new List<List<Func<Promise<T>>>>();
|
|
925
|
-
|
|
926
|
-
var seq = new SequencePromise<T>(generators.Count);
|
|
927
|
-
var current = new AtomicInt();
|
|
928
|
-
// create batches...
|
|
929
|
-
for (var i = 0; i < generators.Count; i += maxBatchSize)
|
|
930
|
-
{
|
|
931
|
-
var start = i;
|
|
932
|
-
var minBatchSize = generators.Count - start;
|
|
933
|
-
var count = minBatchSize < maxBatchSize ? minBatchSize : maxBatchSize; // min()
|
|
934
|
-
var batch = generators.GetRange(start, count);
|
|
935
|
-
batches.Add(batch);
|
|
936
|
-
}
|
|
937
|
-
|
|
938
|
-
Promise<List<T>> ProcessBatch(List<Func<Promise<T>>> batch)
|
|
939
|
-
{
|
|
940
|
-
// start all generators in batch...
|
|
941
|
-
return Promise.Sequence(batch.Select(generator =>
|
|
942
|
-
{
|
|
943
|
-
var promise = generator();
|
|
944
|
-
var index = current.Value;
|
|
945
|
-
current.Increment();
|
|
946
|
-
promise.Then(res => seq.ReportEntrySuccess(index, res))
|
|
947
|
-
.Error(err => seq.ReportEntryError(index, err));
|
|
948
|
-
return promise;
|
|
949
|
-
}).ToList());
|
|
950
|
-
}
|
|
951
|
-
|
|
952
|
-
// run each batch, serially...
|
|
953
|
-
var batchRunners = batches.Select(batch => new Func<Promise<List<T>>>(() => ProcessBatch(batch))).ToList();
|
|
954
|
-
|
|
955
|
-
ExecuteSerially(batchRunners, stopWhen);
|
|
956
|
-
return seq;
|
|
957
|
-
}
|
|
958
|
-
}
|
|
959
|
-
|
|
960
|
-
/// <summary>
|
|
961
|
-
/// This type defines the static %Beamable %SequenceEntryException.
|
|
962
|
-
///
|
|
963
|
-
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
964
|
-
///
|
|
965
|
-
/// #### Related Links
|
|
966
|
-
/// - See Beamable.Common.Promise script reference
|
|
967
|
-
///
|
|
968
|
-
/// ![img beamable-logo]
|
|
969
|
-
///
|
|
970
|
-
/// </summary>
|
|
971
|
-
public class SequenceEntryException : Exception
|
|
972
|
-
{
|
|
973
|
-
public int Index { get; }
|
|
974
|
-
|
|
975
|
-
public SequenceEntryException(int index, Exception inner) : base($"index[{index}]. {inner.Message}", inner)
|
|
976
|
-
{
|
|
977
|
-
Index = index;
|
|
978
|
-
}
|
|
979
|
-
}
|
|
980
|
-
|
|
981
|
-
/// <summary>
|
|
982
|
-
/// This type defines the static %Beamable %SequenceEntrySuccess.
|
|
983
|
-
///
|
|
984
|
-
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
985
|
-
///
|
|
986
|
-
/// #### Related Links
|
|
987
|
-
/// - See Beamable.Common.Promise script reference
|
|
988
|
-
///
|
|
989
|
-
/// ![img beamable-logo]
|
|
990
|
-
///
|
|
991
|
-
/// </summary>
|
|
992
|
-
public class SequenceEntrySuccess<T>
|
|
993
|
-
{
|
|
994
|
-
public int Index { get; private set; }
|
|
995
|
-
public T Result { get; private set; }
|
|
996
|
-
|
|
997
|
-
public SequenceEntrySuccess(int index, T result)
|
|
998
|
-
{
|
|
999
|
-
Index = index;
|
|
1000
|
-
Result = result;
|
|
1001
|
-
}
|
|
1002
|
-
}
|
|
1003
|
-
|
|
1004
|
-
/// <summary>
|
|
1005
|
-
/// This type defines the static %Beamable %PromiseExtensions.
|
|
1006
|
-
///
|
|
1007
|
-
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
1008
|
-
///
|
|
1009
|
-
/// #### Related Links
|
|
1010
|
-
/// - See Beamable.Common.Promise script reference
|
|
1011
|
-
///
|
|
1012
|
-
/// ![img beamable-logo]
|
|
1013
|
-
///
|
|
1014
|
-
/// </summary>
|
|
1015
|
-
public static class PromiseExtensions
|
|
1016
|
-
{
|
|
1017
|
-
/// <summary>
|
|
1018
|
-
/// Create a new promise that potentially recovers from a failure that occurs in the given promise.
|
|
1019
|
-
/// If the given promise succeeds, this method's returned promise will succeed with the same value.
|
|
1020
|
-
/// If the given promise fails, the exception will be passed to the callback, and this method's returned promise will succeed
|
|
1021
|
-
/// or fail based on the return value of the callback. If the callback returns a <typeparamref name="T"/>, then the returned promise
|
|
1022
|
-
/// will succeed with that value. If the callback throws the same exception, or raises a new one, then the returned promise
|
|
1023
|
-
/// will fail with the given exception.
|
|
1024
|
-
/// </summary>
|
|
1025
|
-
/// <param name="promise">A promise</param>
|
|
1026
|
-
/// <param name="callback">A recovery function</param>
|
|
1027
|
-
/// <typeparam name="T">The type of the promise</typeparam>
|
|
1028
|
-
/// <returns>A new promise that may recover from a potential failure in the given promise</returns>
|
|
1029
|
-
public static Promise<T> Recover<T>(this Promise<T> promise, Func<Exception, T> callback)
|
|
1030
|
-
{
|
|
1031
|
-
var result = new Promise<T>();
|
|
1032
|
-
promise.Then(value => result.CompleteSuccess(value))
|
|
1033
|
-
.Error(err =>
|
|
1034
|
-
{
|
|
1035
|
-
try
|
|
1036
|
-
{
|
|
1037
|
-
result.CompleteSuccess(callback(err));
|
|
1038
|
-
}
|
|
1039
|
-
catch (Exception ex)
|
|
1040
|
-
{
|
|
1041
|
-
result.CompleteError(ex);
|
|
1042
|
-
}
|
|
1043
|
-
});
|
|
1044
|
-
return result;
|
|
1045
|
-
}
|
|
1046
|
-
|
|
1047
|
-
/// <summary>
|
|
1048
|
-
/// Similar to <see cref="Recover{T}"/>.
|
|
1049
|
-
/// However, The callback returns a <see cref="Promise{T}"/> instead of a <typeparamref name="T"/> directly.
|
|
1050
|
-
/// </summary>
|
|
1051
|
-
/// <param name="promise">A promise</param>
|
|
1052
|
-
/// <param name="callback">A recovery function</param>
|
|
1053
|
-
/// <typeparam name="T">The type of the promise</typeparam>
|
|
1054
|
-
/// <returns>A new promise that may recover from a potential failure in the given promise</returns>
|
|
1055
|
-
public static Promise<T> RecoverWith<T>(this Promise<T> promise, Func<Exception, Promise<T>> callback)
|
|
1056
|
-
{
|
|
1057
|
-
var result = new Promise<T>();
|
|
1058
|
-
promise.Then(value => result.CompleteSuccess(value)).Error(err =>
|
|
1059
|
-
{
|
|
1060
|
-
try
|
|
1061
|
-
{
|
|
1062
|
-
var nextPromise = callback(err);
|
|
1063
|
-
nextPromise.Then(value => result.CompleteSuccess(value)).Error(errInner =>
|
|
1064
|
-
{
|
|
1065
|
-
result.CompleteError(errInner);
|
|
1066
|
-
});
|
|
1067
|
-
}
|
|
1068
|
-
catch (Exception ex)
|
|
1069
|
-
{
|
|
1070
|
-
result.CompleteError(ex);
|
|
1071
|
-
}
|
|
1072
|
-
});
|
|
1073
|
-
return result;
|
|
1074
|
-
}
|
|
1075
|
-
|
|
1076
|
-
public static Promise<T> ReportInnerException<T>(this Promise<T> promise, bool raiseInnerException = true)
|
|
1077
|
-
{
|
|
1078
|
-
promise.RaiseInnerException = raiseInnerException;
|
|
1079
|
-
return promise;
|
|
1080
|
-
}
|
|
1081
|
-
|
|
1082
|
-
#if !UNITY_WEBGL || UNITY_EDITOR // webgl does not support the system.threading library
|
|
1083
|
-
/// <summary>
|
|
1084
|
-
/// Convert <see cref="System.Threading.Tasks.Task"/> to <see cref="Promise{Unit}"/>.
|
|
1085
|
-
/// </summary>
|
|
1086
|
-
/// <param name="task"></param>
|
|
1087
|
-
/// <returns></returns>
|
|
1088
|
-
public static Promise<Unit> ToPromise(this System.Threading.Tasks.Task task)
|
|
1089
|
-
{
|
|
1090
|
-
var promise = new Promise<Unit>();
|
|
1091
|
-
|
|
1092
|
-
async System.Threading.Tasks.Task Helper()
|
|
1093
|
-
{
|
|
1094
|
-
try
|
|
1095
|
-
{
|
|
1096
|
-
await task;
|
|
1097
|
-
promise.CompleteSuccess(PromiseBase.Unit);
|
|
1098
|
-
|
|
1099
|
-
}
|
|
1100
|
-
catch (Exception ex)
|
|
1101
|
-
{
|
|
1102
|
-
promise.CompleteError(ex);
|
|
1103
|
-
}
|
|
1104
|
-
}
|
|
1105
|
-
|
|
1106
|
-
var _ = Helper();
|
|
1107
|
-
|
|
1108
|
-
return promise;
|
|
1109
|
-
}
|
|
1110
|
-
|
|
1111
|
-
/// <summary>
|
|
1112
|
-
/// Convert <see cref="System.Threading.Tasks.Task{T}"/> to <see cref="Promise{T}"/>.
|
|
1113
|
-
/// </summary>
|
|
1114
|
-
/// <param name="task"></param>
|
|
1115
|
-
/// <typeparam name="T"></typeparam>
|
|
1116
|
-
/// <returns></returns>
|
|
1117
|
-
public static Promise<T> ToPromise<T>(this System.Threading.Tasks.Task<T> task)
|
|
1118
|
-
{
|
|
1119
|
-
var promise = new Promise<T>();
|
|
1120
|
-
|
|
1121
|
-
async System.Threading.Tasks.Task Helper()
|
|
1122
|
-
{
|
|
1123
|
-
try
|
|
1124
|
-
{
|
|
1125
|
-
var result = await task;
|
|
1126
|
-
promise.CompleteSuccess(result);
|
|
1127
|
-
}
|
|
1128
|
-
catch (Exception ex)
|
|
1129
|
-
{
|
|
1130
|
-
promise.CompleteError(ex);
|
|
1131
|
-
}
|
|
1132
|
-
}
|
|
1133
|
-
|
|
1134
|
-
var _ = Helper();
|
|
1135
|
-
|
|
1136
|
-
return promise;
|
|
1137
|
-
}
|
|
1138
|
-
#endif
|
|
1139
|
-
|
|
1140
|
-
/// <summary>
|
|
1141
|
-
/// Convert the given promise to a <see cref="Promise{Unit}"/>
|
|
1142
|
-
/// </summary>
|
|
1143
|
-
/// <param name="self">some promise of type <typeparamref name="T"/></param>
|
|
1144
|
-
/// <typeparam name="T">some type</typeparam>
|
|
1145
|
-
/// <returns>A promise of type Unit</returns>
|
|
1146
|
-
public static Promise<Unit> ToUnit<T>(this Promise<T> self)
|
|
1147
|
-
{
|
|
1148
|
-
return self.Map(_ => PromiseBase.Unit);
|
|
1149
|
-
}
|
|
1150
|
-
|
|
1151
|
-
/// <summary>
|
|
1152
|
-
/// Create a new promise that strips away the generic type information of the given promise.
|
|
1153
|
-
/// </summary>
|
|
1154
|
-
/// <param name="self">Some promise</param>
|
|
1155
|
-
/// <typeparam name="T">some type</typeparam>
|
|
1156
|
-
/// <returns>A typeless promise</returns>
|
|
1157
|
-
public static Promise ToPromise<T>(this Promise<T> self)
|
|
1158
|
-
{
|
|
1159
|
-
var p = new Promise();
|
|
1160
|
-
self.Then(_ => p.CompleteSuccess(PromiseBase.Unit));
|
|
1161
|
-
self.Error(p.CompleteError);
|
|
1162
|
-
return p;
|
|
1163
|
-
}
|
|
1164
|
-
}
|
|
1165
|
-
|
|
1166
|
-
/// <summary>
|
|
1167
|
-
/// This type defines the static %Beamable %UncaughtPromiseException.
|
|
1168
|
-
///
|
|
1169
|
-
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
1170
|
-
///
|
|
1171
|
-
/// #### Related Links
|
|
1172
|
-
/// - See Beamable.Common.Promise script reference
|
|
1173
|
-
///
|
|
1174
|
-
/// ![img beamable-logo]
|
|
1175
|
-
///
|
|
1176
|
-
/// </summary>
|
|
1177
|
-
public class UncaughtPromiseException : Exception
|
|
1178
|
-
{
|
|
1179
|
-
public PromiseBase Promise { get; }
|
|
1180
|
-
|
|
1181
|
-
public UncaughtPromiseException(PromiseBase promise, Exception ex) : base(
|
|
1182
|
-
$"Uncaught promise innerMsg=[{ex.Message}] innerType=[{ex?.GetType()?.Name}] ", ex)
|
|
1183
|
-
{
|
|
1184
|
-
Promise = promise;
|
|
1185
|
-
}
|
|
1186
|
-
}
|
|
1187
|
-
|
|
1188
|
-
/// <summary>
|
|
1189
|
-
/// This type defines the struct %Beamable %Unit.
|
|
1190
|
-
///
|
|
1191
|
-
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
1192
|
-
///
|
|
1193
|
-
/// #### Related Links
|
|
1194
|
-
/// - See Beamable.Common.Promise script reference
|
|
1195
|
-
///
|
|
1196
|
-
/// ![img beamable-logo]
|
|
1197
|
-
///
|
|
1198
|
-
/// </summary>
|
|
1199
|
-
public readonly struct Unit
|
|
1200
|
-
{
|
|
1201
|
-
}
|
|
1202
|
-
|
|
1203
|
-
/// <summary>
|
|
1204
|
-
/// https://github.com/dotnet/roslyn/blob/main/docs/features/task-types.md
|
|
1205
|
-
/// https://referencesource.microsoft.com/#mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs
|
|
1206
|
-
/// </summary>
|
|
1207
|
-
/// <typeparam name="T"></typeparam>
|
|
1208
|
-
public sealed class PromiseAsyncMethodBuilder<T>
|
|
1209
|
-
{
|
|
1210
|
-
private IAsyncStateMachine _stateMachine;
|
|
1211
|
-
private Promise<T> _promise = new Promise<T>(); // TODO: allocation.
|
|
1212
|
-
|
|
1213
|
-
public static PromiseAsyncMethodBuilder<T> Create()
|
|
1214
|
-
{
|
|
1215
|
-
return new PromiseAsyncMethodBuilder<T>();
|
|
1216
|
-
}
|
|
1217
|
-
|
|
1218
|
-
public void SetResult(T res)
|
|
1219
|
-
{
|
|
1220
|
-
_promise.CompleteSuccess(res);
|
|
1221
|
-
}
|
|
1222
|
-
|
|
1223
|
-
public void SetException(Exception ex)
|
|
1224
|
-
{
|
|
1225
|
-
_promise.RaiseInnerException = true;
|
|
1226
|
-
// TODO: there is a bug here, where an "uncaught" exception can still happen even if someone try/catches it.
|
|
1227
|
-
_promise.Error(err => { });
|
|
1228
|
-
_promise.CompleteError(ex);
|
|
1229
|
-
}
|
|
1230
|
-
|
|
1231
|
-
public void SetStateMachine(IAsyncStateMachine machine)
|
|
1232
|
-
{
|
|
1233
|
-
_stateMachine = machine;
|
|
1234
|
-
}
|
|
1235
|
-
|
|
1236
|
-
public void AwaitOnCompleted<TAwaiter, TStateMachine>(
|
|
1237
|
-
ref TAwaiter awaiter, ref TStateMachine stateMachine)
|
|
1238
|
-
where TAwaiter : INotifyCompletion
|
|
1239
|
-
where TStateMachine : IAsyncStateMachine
|
|
1240
|
-
{
|
|
1241
|
-
if (_stateMachine == null)
|
|
1242
|
-
{
|
|
1243
|
-
_stateMachine = stateMachine;
|
|
1244
|
-
_stateMachine.SetStateMachine(stateMachine);
|
|
1245
|
-
}
|
|
1246
|
-
|
|
1247
|
-
awaiter.OnCompleted(() =>
|
|
1248
|
-
{
|
|
1249
|
-
_stateMachine.MoveNext();
|
|
1250
|
-
});
|
|
1251
|
-
}
|
|
1252
|
-
|
|
1253
|
-
public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(
|
|
1254
|
-
ref TAwaiter awaiter, ref TStateMachine stateMachine)
|
|
1255
|
-
where TAwaiter : ICriticalNotifyCompletion
|
|
1256
|
-
where TStateMachine : IAsyncStateMachine
|
|
1257
|
-
{
|
|
1258
|
-
AwaitOnCompleted(ref awaiter, ref stateMachine);
|
|
1259
|
-
}
|
|
1260
|
-
|
|
1261
|
-
public void Start<TStateMachine>(ref TStateMachine stateMachine)
|
|
1262
|
-
where TStateMachine : IAsyncStateMachine
|
|
1263
|
-
{
|
|
1264
|
-
stateMachine.MoveNext();
|
|
1265
|
-
}
|
|
1266
|
-
|
|
1267
|
-
public Promise<T> Task => _promise;
|
|
1268
|
-
}
|
|
1269
|
-
|
|
1270
|
-
public sealed class PromiseAsyncMethodBuilder
|
|
1271
|
-
{
|
|
1272
|
-
private IAsyncStateMachine _stateMachine;
|
|
1273
|
-
private Promise _promise = new Promise(); // TODO: allocation.
|
|
1274
|
-
|
|
1275
|
-
public static PromiseAsyncMethodBuilder Create()
|
|
1276
|
-
{
|
|
1277
|
-
return new PromiseAsyncMethodBuilder();
|
|
1278
|
-
}
|
|
1279
|
-
|
|
1280
|
-
public void SetResult()
|
|
1281
|
-
{
|
|
1282
|
-
_promise.CompleteSuccess(PromiseBase.Unit);
|
|
1283
|
-
}
|
|
1284
|
-
|
|
1285
|
-
public void SetException(Exception ex)
|
|
1286
|
-
{
|
|
1287
|
-
_promise.RaiseInnerException = true;
|
|
1288
|
-
_promise.CompleteError(ex);
|
|
1289
|
-
}
|
|
1290
|
-
|
|
1291
|
-
public void SetStateMachine(IAsyncStateMachine machine)
|
|
1292
|
-
{
|
|
1293
|
-
_stateMachine = machine;
|
|
1294
|
-
}
|
|
1295
|
-
|
|
1296
|
-
public void AwaitOnCompleted<TAwaiter, TStateMachine>(
|
|
1297
|
-
ref TAwaiter awaiter, ref TStateMachine stateMachine)
|
|
1298
|
-
where TAwaiter : INotifyCompletion
|
|
1299
|
-
where TStateMachine : IAsyncStateMachine
|
|
1300
|
-
{
|
|
1301
|
-
if (_stateMachine == null)
|
|
1302
|
-
{
|
|
1303
|
-
_stateMachine = stateMachine;
|
|
1304
|
-
_stateMachine.SetStateMachine(stateMachine);
|
|
1305
|
-
}
|
|
1306
|
-
|
|
1307
|
-
awaiter.OnCompleted(() =>
|
|
1308
|
-
{
|
|
1309
|
-
_stateMachine.MoveNext();
|
|
1310
|
-
});
|
|
1311
|
-
}
|
|
1312
|
-
|
|
1313
|
-
public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(
|
|
1314
|
-
ref TAwaiter awaiter, ref TStateMachine stateMachine)
|
|
1315
|
-
where TAwaiter : ICriticalNotifyCompletion
|
|
1316
|
-
where TStateMachine : IAsyncStateMachine
|
|
1317
|
-
{
|
|
1318
|
-
AwaitOnCompleted(ref awaiter, ref stateMachine);
|
|
1319
|
-
}
|
|
1320
|
-
|
|
1321
|
-
public void Start<TStateMachine>(ref TStateMachine stateMachine)
|
|
1322
|
-
where TStateMachine : IAsyncStateMachine
|
|
1323
|
-
{
|
|
1324
|
-
stateMachine.MoveNext();
|
|
1325
|
-
}
|
|
1326
|
-
|
|
1327
|
-
public Promise Task => _promise;
|
|
1328
|
-
}
|
|
1329
|
-
}
|
|
1
|
+
// this file was copied from nuget package Beamable.Common@7.0.0-PREVIEW.RC10
|
|
2
|
+
// https://www.nuget.org/packages/Beamable.Common/7.0.0-PREVIEW.RC10
|
|
3
|
+
|
|
4
|
+
#if UNITY_WEBGL
|
|
5
|
+
#define DISABLE_THREADING
|
|
6
|
+
#endif
|
|
7
|
+
|
|
8
|
+
using Beamable.Common.Runtime.Collections;
|
|
9
|
+
using System;
|
|
10
|
+
using System.Collections;
|
|
11
|
+
using System.Collections.Generic;
|
|
12
|
+
using System.Diagnostics;
|
|
13
|
+
using System.Linq;
|
|
14
|
+
using System.Linq.Expressions;
|
|
15
|
+
using System.Reflection;
|
|
16
|
+
using System.Runtime.CompilerServices;
|
|
17
|
+
using System.Runtime.ExceptionServices;
|
|
18
|
+
|
|
19
|
+
#if (!DISABLE_BEAMABLE_ASYNCMETHODBUILDER && !UNITY_2021_2_OR_NEWER) || (NETSTANDARD2_0)
|
|
20
|
+
namespace System.Runtime.CompilerServices
|
|
21
|
+
{
|
|
22
|
+
public sealed class AsyncMethodBuilderAttribute : Attribute
|
|
23
|
+
{
|
|
24
|
+
public AsyncMethodBuilderAttribute(Type taskLike)
|
|
25
|
+
{ }
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
namespace Beamable.Common
|
|
31
|
+
{
|
|
32
|
+
/// <summary>
|
|
33
|
+
/// This type defines the base for the %Beamable %Promise.
|
|
34
|
+
///
|
|
35
|
+
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
36
|
+
///
|
|
37
|
+
/// #### Related Links
|
|
38
|
+
/// - See Beamable.Common.Promise script reference
|
|
39
|
+
///
|
|
40
|
+
/// ![img beamable-logo]
|
|
41
|
+
///
|
|
42
|
+
/// </summary>
|
|
43
|
+
public abstract class PromiseBase
|
|
44
|
+
{
|
|
45
|
+
protected Action<Exception> errbacks;
|
|
46
|
+
|
|
47
|
+
/// <summary>
|
|
48
|
+
/// True if there are any registered error handlers.
|
|
49
|
+
/// </summary>
|
|
50
|
+
public bool HadAnyErrbacks { protected set; get; }
|
|
51
|
+
|
|
52
|
+
protected Exception err;
|
|
53
|
+
protected ExceptionDispatchInfo errInfo;
|
|
54
|
+
protected StackTrace _errStackTrace;
|
|
55
|
+
protected object _lock = new object();
|
|
56
|
+
internal bool RaiseInnerException { get; set; }
|
|
57
|
+
|
|
58
|
+
#if DISABLE_THREADING
|
|
59
|
+
protected bool done { get; set; }
|
|
60
|
+
#else
|
|
61
|
+
private int _doneSignal = 0; // https://stackoverflow.com/questions/29411961/c-sharp-and-thread-safety-of-a-bool
|
|
62
|
+
protected bool done
|
|
63
|
+
{
|
|
64
|
+
get => (System.Threading.Interlocked.CompareExchange(ref _doneSignal, 1, 1) == 1);
|
|
65
|
+
set
|
|
66
|
+
{
|
|
67
|
+
if (value) System.Threading.Interlocked.CompareExchange(ref _doneSignal, 1, 0);
|
|
68
|
+
else System.Threading.Interlocked.CompareExchange(ref _doneSignal, 0, 1);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
#endif
|
|
72
|
+
|
|
73
|
+
public static readonly Unit Unit = new Unit();
|
|
74
|
+
|
|
75
|
+
public static Promise<Unit> SuccessfulUnit => Promise<Unit>.Successful(Unit);
|
|
76
|
+
|
|
77
|
+
/// <summary>
|
|
78
|
+
/// True when the promise has completed; false otherwise.
|
|
79
|
+
/// </summary>
|
|
80
|
+
public bool IsCompleted => done;
|
|
81
|
+
|
|
82
|
+
/// <summary>
|
|
83
|
+
/// True when the promise has completed and the promise has failed.
|
|
84
|
+
/// </summary>
|
|
85
|
+
public bool IsFailed => done && err != null;
|
|
86
|
+
|
|
87
|
+
private static event PromiseEvent OnPotentialUncaughtError;
|
|
88
|
+
|
|
89
|
+
public static bool HasUncaughtErrorHandler => OnPotentialUncaughtError != null;
|
|
90
|
+
|
|
91
|
+
/// <summary>
|
|
92
|
+
/// Set error handlers for uncaught promise errors. Beamable has a default handler set in its API initialization.
|
|
93
|
+
/// </summary>
|
|
94
|
+
/// <param name="handler">The new error handler.</param>
|
|
95
|
+
/// <param name="replaceExistingHandlers">When TRUE, will replace all previously set handlers. When FALSE, will add the given handler.</param>
|
|
96
|
+
public static void SetPotentialUncaughtErrorHandler(PromiseEvent handler, bool replaceExistingHandlers = true)
|
|
97
|
+
{
|
|
98
|
+
// This overwrites it everytime, blowing away any other listeners.
|
|
99
|
+
if (replaceExistingHandlers)
|
|
100
|
+
{
|
|
101
|
+
OnPotentialUncaughtError = handler;
|
|
102
|
+
}
|
|
103
|
+
else // This allows someone to override the functionality.
|
|
104
|
+
{
|
|
105
|
+
OnPotentialUncaughtError += handler;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
protected void InvokeUncaughtPromise()
|
|
110
|
+
{
|
|
111
|
+
OnPotentialUncaughtError?.Invoke(this, errInfo?.SourceException ?? err);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
public delegate void PromiseEvent(PromiseBase promise, Exception err);
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
public interface ITaskLike<TResult, TSelf> : ICriticalNotifyCompletion
|
|
120
|
+
where TSelf : ITaskLike<TResult, TSelf>
|
|
121
|
+
{
|
|
122
|
+
TResult GetResult();
|
|
123
|
+
|
|
124
|
+
bool IsCompleted { get; }
|
|
125
|
+
|
|
126
|
+
TSelf GetAwaiter();
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
public static class ITaskLikeExtensions
|
|
130
|
+
{
|
|
131
|
+
public static Promise<TResult> ToPromise<TResult, TSelf>(this ITaskLike<TResult, TSelf> taskLike)
|
|
132
|
+
where TSelf : ITaskLike<TResult, TSelf>
|
|
133
|
+
{
|
|
134
|
+
var promise = new Promise<TResult>();
|
|
135
|
+
taskLike.UnsafeOnCompleted(() => promise.CompleteSuccess(taskLike.GetResult()));
|
|
136
|
+
return promise;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/// <summary>
|
|
141
|
+
/// This type defines the %Beamable %Promise.
|
|
142
|
+
///
|
|
143
|
+
/// A promise is an object that may produce a single value some time in the future:
|
|
144
|
+
/// either a resolved value, or a reason that it’s not resolved (e.g., a network error occurred).
|
|
145
|
+
///
|
|
146
|
+
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
147
|
+
///
|
|
148
|
+
/// ![img beamable-logo]
|
|
149
|
+
///
|
|
150
|
+
/// </summary>
|
|
151
|
+
///
|
|
152
|
+
[AsyncMethodBuilder(typeof(PromiseAsyncMethodBuilder<>))]
|
|
153
|
+
public class Promise<T> : PromiseBase, ICriticalNotifyCompletion
|
|
154
|
+
{
|
|
155
|
+
private Action<T> _callbacks;
|
|
156
|
+
private T _val;
|
|
157
|
+
|
|
158
|
+
/// <summary>
|
|
159
|
+
/// Call to set the value and resolve the %Promise
|
|
160
|
+
/// </summary>
|
|
161
|
+
/// <param name="val"></param>
|
|
162
|
+
public void CompleteSuccess(T val)
|
|
163
|
+
{
|
|
164
|
+
lock (_lock)
|
|
165
|
+
{
|
|
166
|
+
if (done)
|
|
167
|
+
{
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
_val = val;
|
|
172
|
+
done = true;
|
|
173
|
+
try
|
|
174
|
+
{
|
|
175
|
+
_callbacks?.Invoke(val);
|
|
176
|
+
}
|
|
177
|
+
catch (Exception e)
|
|
178
|
+
{
|
|
179
|
+
BeamableLogger.LogException(e);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
_callbacks = null;
|
|
183
|
+
errbacks = null;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/// <summary>
|
|
188
|
+
/// Call to throw an exception and resolve the %Promise
|
|
189
|
+
/// </summary>
|
|
190
|
+
/// <param name="ex">exception to complete Promise with</param>
|
|
191
|
+
public void CompleteError(Exception ex)
|
|
192
|
+
{
|
|
193
|
+
lock (_lock)
|
|
194
|
+
{
|
|
195
|
+
if (done)
|
|
196
|
+
{
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
err = ex;
|
|
201
|
+
if (err.StackTrace == null)
|
|
202
|
+
{
|
|
203
|
+
err.SetStackTrace(new StackTrace());
|
|
204
|
+
}
|
|
205
|
+
done = true;
|
|
206
|
+
errInfo = ExceptionDispatchInfo.Capture(err);
|
|
207
|
+
|
|
208
|
+
try
|
|
209
|
+
{
|
|
210
|
+
if (!HadAnyErrbacks)
|
|
211
|
+
{
|
|
212
|
+
InvokeUncaughtPromise();
|
|
213
|
+
}
|
|
214
|
+
else
|
|
215
|
+
{
|
|
216
|
+
errbacks?.Invoke(ex);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
catch (Exception e)
|
|
220
|
+
{
|
|
221
|
+
BeamableLogger.LogException(e);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
_callbacks = null;
|
|
225
|
+
errbacks = null;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/// <summary>
|
|
230
|
+
/// Call to register a success completion handler callback for the %Promise
|
|
231
|
+
/// </summary>
|
|
232
|
+
/// <param name="callback"></param>
|
|
233
|
+
public Promise<T> Then(Action<T> callback)
|
|
234
|
+
{
|
|
235
|
+
lock (_lock)
|
|
236
|
+
{
|
|
237
|
+
if (done)
|
|
238
|
+
{
|
|
239
|
+
if (err == null)
|
|
240
|
+
{
|
|
241
|
+
try
|
|
242
|
+
{
|
|
243
|
+
callback(_val);
|
|
244
|
+
}
|
|
245
|
+
catch (Exception e)
|
|
246
|
+
{
|
|
247
|
+
BeamableLogger.LogException(e);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
else
|
|
251
|
+
{
|
|
252
|
+
// maybe there is no error handler for this guy...
|
|
253
|
+
if (!HadAnyErrbacks)
|
|
254
|
+
{
|
|
255
|
+
InvokeUncaughtPromise();
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
else
|
|
260
|
+
{
|
|
261
|
+
_callbacks += callback;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
return this;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/// <summary>
|
|
269
|
+
/// Combine the outcome of this promise with the given promise.
|
|
270
|
+
/// If this promise completes, the given promise will complete.
|
|
271
|
+
/// If this promise fails, the given promise will fail.
|
|
272
|
+
/// </summary>
|
|
273
|
+
/// <param name="other">Some promise other than this promise.</param>
|
|
274
|
+
/// <returns>The current promise instance</returns>
|
|
275
|
+
public Promise<T> Merge(Promise<T> other)
|
|
276
|
+
{
|
|
277
|
+
Then(other.CompleteSuccess);
|
|
278
|
+
Error(other.CompleteError);
|
|
279
|
+
return this;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
public Promise<T> Merge(Promise other)
|
|
283
|
+
{
|
|
284
|
+
Then(x => other.CompleteSuccess(Unit));
|
|
285
|
+
Error(other.CompleteError);
|
|
286
|
+
return this;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/// <summary>
|
|
290
|
+
/// Call to register a failure completion handler callback for the %Promise
|
|
291
|
+
/// </summary>
|
|
292
|
+
/// <param name="errback"></param>
|
|
293
|
+
public Promise<T> Error(Action<Exception> errback)
|
|
294
|
+
{
|
|
295
|
+
lock (_lock)
|
|
296
|
+
{
|
|
297
|
+
HadAnyErrbacks = true;
|
|
298
|
+
if (done)
|
|
299
|
+
{
|
|
300
|
+
if (err != null)
|
|
301
|
+
{
|
|
302
|
+
try
|
|
303
|
+
{
|
|
304
|
+
errback(err);
|
|
305
|
+
}
|
|
306
|
+
catch (Exception e)
|
|
307
|
+
{
|
|
308
|
+
BeamableLogger.LogException(e);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
else
|
|
313
|
+
{
|
|
314
|
+
errbacks += errback;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
return this;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
/// <summary>
|
|
322
|
+
/// Takes a promise of type A, and returns a promise of
|
|
323
|
+
/// type B with a conversion applied.
|
|
324
|
+
/// </summary>
|
|
325
|
+
/// <param name="callback"></param>
|
|
326
|
+
/// <typeparam name="TU"></typeparam>
|
|
327
|
+
/// <returns></returns>
|
|
328
|
+
public Promise<TU> Map<TU>(Func<T, TU> callback)
|
|
329
|
+
{
|
|
330
|
+
var result = new Promise<TU>();
|
|
331
|
+
// need to forward the error handles of this one, to the next one.x
|
|
332
|
+
// result.Error(err => errbacks?.Invoke(err));
|
|
333
|
+
Then(value =>
|
|
334
|
+
{
|
|
335
|
+
try
|
|
336
|
+
{
|
|
337
|
+
var nextResult = callback(value);
|
|
338
|
+
result.CompleteSuccess(nextResult);
|
|
339
|
+
}
|
|
340
|
+
catch (Exception ex)
|
|
341
|
+
{
|
|
342
|
+
result.CompleteError(ex);
|
|
343
|
+
}
|
|
344
|
+
})
|
|
345
|
+
.Error(ex => result.CompleteError(ex))
|
|
346
|
+
;
|
|
347
|
+
return result;
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/// <summary>
|
|
351
|
+
/// Takes a promise of type A, and returns a promise of
|
|
352
|
+
/// type B with a conversion applied and the promise hierarchy is flattened.
|
|
353
|
+
/// </summary>
|
|
354
|
+
/// <param name="callback"></param>
|
|
355
|
+
/// <param name="factory"></param>
|
|
356
|
+
/// <typeparam name="PromiseU"></typeparam>
|
|
357
|
+
/// <typeparam name="U"></typeparam>
|
|
358
|
+
/// <returns></returns>
|
|
359
|
+
public PromiseU FlatMap<PromiseU, U>(Func<T, PromiseU> callback, Func<PromiseU> factory)
|
|
360
|
+
where PromiseU : Promise<U>
|
|
361
|
+
{
|
|
362
|
+
var pu = factory();
|
|
363
|
+
FlatMap(callback)
|
|
364
|
+
.Then(pu.CompleteSuccess)
|
|
365
|
+
.Error(pu.CompleteError);
|
|
366
|
+
return pu;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
/// <summary>
|
|
370
|
+
/// Takes a promise of type A, and returns a promise of
|
|
371
|
+
/// type B with a conversion applied and the promise hierarchy is flattened.
|
|
372
|
+
/// </summary>
|
|
373
|
+
/// <param name="callback"></param>
|
|
374
|
+
/// <typeparam name="TU"></typeparam>
|
|
375
|
+
/// <returns></returns>
|
|
376
|
+
public Promise<TU> FlatMap<TU>(Func<T, Promise<TU>> callback)
|
|
377
|
+
{
|
|
378
|
+
var result = new Promise<TU>();
|
|
379
|
+
Then(value =>
|
|
380
|
+
{
|
|
381
|
+
try
|
|
382
|
+
{
|
|
383
|
+
callback(value)
|
|
384
|
+
.Then(valueInner => result.CompleteSuccess(valueInner))
|
|
385
|
+
.Error(ex => result.CompleteError(ex));
|
|
386
|
+
}
|
|
387
|
+
catch (Exception ex)
|
|
388
|
+
{
|
|
389
|
+
result.CompleteError(ex);
|
|
390
|
+
}
|
|
391
|
+
}).Error(ex => { result.CompleteError(ex); });
|
|
392
|
+
return result;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
/// <summary>
|
|
396
|
+
/// Call to set the value and resolve the %Promise
|
|
397
|
+
/// </summary>
|
|
398
|
+
/// <param name="value"></param>
|
|
399
|
+
/// <returns></returns>
|
|
400
|
+
public static Promise<T> Successful(T value)
|
|
401
|
+
{
|
|
402
|
+
return new Promise<T>
|
|
403
|
+
{
|
|
404
|
+
done = true,
|
|
405
|
+
_val = value
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
/// <summary>
|
|
410
|
+
/// Call to throw an exception and resolve the %Promise
|
|
411
|
+
/// </summary>
|
|
412
|
+
/// <param name="err"></param>
|
|
413
|
+
/// <returns></returns>
|
|
414
|
+
public static Promise<T> Failed(Exception err)
|
|
415
|
+
{
|
|
416
|
+
if (err?.StackTrace == null)
|
|
417
|
+
{
|
|
418
|
+
err?.SetStackTrace(new StackTrace());
|
|
419
|
+
}
|
|
420
|
+
ExceptionDispatchInfo errInfo = ExceptionDispatchInfo.Capture(err);
|
|
421
|
+
return new Promise<T>
|
|
422
|
+
{
|
|
423
|
+
done = true,
|
|
424
|
+
err = err,
|
|
425
|
+
errInfo = errInfo
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
void ICriticalNotifyCompletion.UnsafeOnCompleted(Action continuation)
|
|
430
|
+
{
|
|
431
|
+
Error(_ => continuation());
|
|
432
|
+
Then(_ => continuation());
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
void INotifyCompletion.OnCompleted(Action continuation)
|
|
436
|
+
{
|
|
437
|
+
((ICriticalNotifyCompletion)this).UnsafeOnCompleted(continuation);
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
/// <summary>
|
|
441
|
+
/// Get the result of the <see cref="Promise"/>.
|
|
442
|
+
/// </summary>
|
|
443
|
+
/// <returns></returns>
|
|
444
|
+
/// <exception cref="Exception"></exception>
|
|
445
|
+
public T GetResult()
|
|
446
|
+
{
|
|
447
|
+
if (err != null)
|
|
448
|
+
{
|
|
449
|
+
if (RaiseInnerException)
|
|
450
|
+
{
|
|
451
|
+
errInfo.Throw();
|
|
452
|
+
}
|
|
453
|
+
else throw err;
|
|
454
|
+
}
|
|
455
|
+
return _val;
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
/// <summary>
|
|
459
|
+
/// Get the awaiter of the <see cref="Promise"/>.
|
|
460
|
+
/// Once an awaiter is established, this promise will never raise an uncaught exception.
|
|
461
|
+
/// </summary>
|
|
462
|
+
/// <returns></returns>
|
|
463
|
+
/// <exception cref="Exception"></exception>
|
|
464
|
+
public Promise<T> GetAwaiter()
|
|
465
|
+
{
|
|
466
|
+
Error((ex) =>
|
|
467
|
+
{
|
|
468
|
+
// remove the ability for an uncaught exception to raise. As an awaiter, the .GetResult() method will trigger, which will THROW an error if one exists.
|
|
469
|
+
});
|
|
470
|
+
return this;
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
public static class ExceptionUtilities
|
|
476
|
+
{
|
|
477
|
+
private static readonly FieldInfo STACK_TRACE_STRING_FI = typeof(Exception).GetField("_stackTraceString", BindingFlags.NonPublic | BindingFlags.Instance);
|
|
478
|
+
private static readonly Type TRACE_FORMAT_TI = Type.GetType("System.Diagnostics.StackTrace").GetNestedType("TraceFormat", BindingFlags.NonPublic);
|
|
479
|
+
private static readonly MethodInfo TRACE_TO_STRING_MI = typeof(StackTrace).GetMethod("ToString", BindingFlags.NonPublic | BindingFlags.Instance, null, new[] { TRACE_FORMAT_TI }, null);
|
|
480
|
+
|
|
481
|
+
public static Exception SetStackTrace(this Exception target, StackTrace stack)
|
|
482
|
+
{
|
|
483
|
+
var getStackTraceString = TRACE_TO_STRING_MI.Invoke(stack, new object[] { Enum.GetValues(TRACE_FORMAT_TI).GetValue(0) });
|
|
484
|
+
STACK_TRACE_STRING_FI.SetValue(target, getStackTraceString);
|
|
485
|
+
return target;
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
public class PromiseException : Exception
|
|
489
|
+
{
|
|
490
|
+
public PromiseException(Exception inner) : base($"Promise failed with exception {inner.Message}", inner)
|
|
491
|
+
{
|
|
492
|
+
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
/// <summary>
|
|
497
|
+
/// This type defines the %Beamable %SequencePromise.
|
|
498
|
+
///
|
|
499
|
+
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
500
|
+
///
|
|
501
|
+
/// #### Related Links
|
|
502
|
+
/// - See Beamable.Common.Promise script reference
|
|
503
|
+
///
|
|
504
|
+
/// ![img beamable-logo]
|
|
505
|
+
///
|
|
506
|
+
/// </summary>
|
|
507
|
+
public class SequencePromise<T> : Promise<IList<T>>
|
|
508
|
+
{
|
|
509
|
+
private Action<SequenceEntryException> _entryErrorCallbacks;
|
|
510
|
+
private Action<SequenceEntrySuccess<T>> _entrySuccessCallbacks;
|
|
511
|
+
|
|
512
|
+
private ConcurrentBag<SequenceEntryException> _errors = new ConcurrentBag<SequenceEntryException>();
|
|
513
|
+
private ConcurrentBag<SequenceEntrySuccess<T>> _successes = new ConcurrentBag<SequenceEntrySuccess<T>>();
|
|
514
|
+
|
|
515
|
+
private ConcurrentDictionary<int, object> _indexToResult = new ConcurrentDictionary<int, object>();
|
|
516
|
+
|
|
517
|
+
/// <summary>
|
|
518
|
+
/// The current count of successful promises
|
|
519
|
+
/// </summary>
|
|
520
|
+
public int SuccessCount => _successes.Count;
|
|
521
|
+
|
|
522
|
+
/// <summary>
|
|
523
|
+
/// The current count of failed promises
|
|
524
|
+
/// </summary>
|
|
525
|
+
public int ErrorCount => _errors.Count;
|
|
526
|
+
|
|
527
|
+
/// <summary>
|
|
528
|
+
/// The current count of completed promises
|
|
529
|
+
/// </summary>
|
|
530
|
+
public int Total => _errors.Count + _successes.Count;
|
|
531
|
+
|
|
532
|
+
/// <summary>
|
|
533
|
+
/// The number of promises that this sequence represents
|
|
534
|
+
/// </summary>
|
|
535
|
+
public int Count { get; }
|
|
536
|
+
|
|
537
|
+
/// <summary>
|
|
538
|
+
/// The ratio of completed promises to total promises. This will be 1 when all promises have completed.
|
|
539
|
+
/// </summary>
|
|
540
|
+
public float Ratio => HasProcessedAllEntries ? 1 : Total / (float)Count;
|
|
541
|
+
|
|
542
|
+
/// <summary>
|
|
543
|
+
/// True when all promises have completed; false otherwise
|
|
544
|
+
/// </summary>
|
|
545
|
+
public bool HasProcessedAllEntries => Total == Count;
|
|
546
|
+
|
|
547
|
+
/// <summary>
|
|
548
|
+
/// An enumeration of the successful results. There will be a <typeparamref name="T"/> for each successful promise.
|
|
549
|
+
/// </summary>
|
|
550
|
+
public IEnumerable<T> SuccessfulResults => _successes.Select(s => s.Result);
|
|
551
|
+
|
|
552
|
+
public SequencePromise(int count)
|
|
553
|
+
{
|
|
554
|
+
Count = count;
|
|
555
|
+
if (Count == 0)
|
|
556
|
+
{
|
|
557
|
+
CompleteSuccess();
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
/// <summary>
|
|
562
|
+
/// Attach a callback that will trigger anytime a promise fails
|
|
563
|
+
/// </summary>
|
|
564
|
+
/// <param name="handler">A callback that will be given a <see cref="SequenceEntryException"/> everytime a promise fails</param>
|
|
565
|
+
/// <returns>This instance</returns>
|
|
566
|
+
public SequencePromise<T> OnElementError(Action<SequenceEntryException> handler)
|
|
567
|
+
{
|
|
568
|
+
foreach (var existingError in _errors)
|
|
569
|
+
{
|
|
570
|
+
handler?.Invoke(existingError);
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
_entryErrorCallbacks += handler;
|
|
574
|
+
return this;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
/// <summary>
|
|
578
|
+
/// Attach a callback that will trigger anytime a promise succeeds
|
|
579
|
+
/// </summary>
|
|
580
|
+
/// <param name="handler">A callback that will be given a <see cref="SequenceEntrySuccess{T}"/> everytime a promise succeeds</param>
|
|
581
|
+
/// <returns>This instance</returns>
|
|
582
|
+
public SequencePromise<T> OnElementSuccess(Action<SequenceEntrySuccess<T>> handler)
|
|
583
|
+
{
|
|
584
|
+
foreach (var success in _successes)
|
|
585
|
+
{
|
|
586
|
+
handler?.Invoke(success);
|
|
587
|
+
}
|
|
588
|
+
|
|
589
|
+
_entrySuccessCallbacks += handler;
|
|
590
|
+
return this;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
/// <summary>
|
|
594
|
+
/// Mark the entire sequence promise as complete
|
|
595
|
+
/// </summary>
|
|
596
|
+
public void CompleteSuccess()
|
|
597
|
+
{
|
|
598
|
+
base.CompleteSuccess(SuccessfulResults.ToList());
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
/// <summary>
|
|
602
|
+
/// When a promise has failed, report the failure.
|
|
603
|
+
/// One failed promise will cause the entire sequence promise to be considered a failed promise.
|
|
604
|
+
/// </summary>
|
|
605
|
+
/// <param name="exception">The <see cref="SequenceEntryException"/> that occured</param>
|
|
606
|
+
public void ReportEntryError(SequenceEntryException exception)
|
|
607
|
+
{
|
|
608
|
+
if (_indexToResult.ContainsKey(exception.Index) || exception.Index >= Count) return;
|
|
609
|
+
|
|
610
|
+
_errors.Add(exception);
|
|
611
|
+
_indexToResult.TryAdd(exception.Index, exception);
|
|
612
|
+
_entryErrorCallbacks?.Invoke(exception);
|
|
613
|
+
|
|
614
|
+
CompleteError(exception.InnerException);
|
|
615
|
+
}
|
|
616
|
+
|
|
617
|
+
/// <summary>
|
|
618
|
+
/// When a promise has succeeded, report the success.
|
|
619
|
+
/// All promises must report success for the entire sequence promise to succeed.
|
|
620
|
+
/// </summary>
|
|
621
|
+
/// <param name="success">The <see cref="SequenceEntrySuccess{T}"/> that occured</param>
|
|
622
|
+
public void ReportEntrySuccess(SequenceEntrySuccess<T> success)
|
|
623
|
+
{
|
|
624
|
+
if (_indexToResult.ContainsKey(success.Index) || success.Index >= Count) return;
|
|
625
|
+
|
|
626
|
+
_successes.Add(success);
|
|
627
|
+
_indexToResult.TryAdd(success.Index, success);
|
|
628
|
+
_entrySuccessCallbacks?.Invoke(success);
|
|
629
|
+
|
|
630
|
+
if (HasProcessedAllEntries)
|
|
631
|
+
{
|
|
632
|
+
CompleteSuccess();
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
/// <summary>
|
|
637
|
+
/// <inheritdoc cref="ReportEntrySuccess(Beamable.Common.SequenceEntrySuccess{T})"/>
|
|
638
|
+
/// </summary>
|
|
639
|
+
/// <param name="index">The promise index that succeeded.</param>
|
|
640
|
+
/// <param name="result">The success value of the promise</param>
|
|
641
|
+
public void ReportEntrySuccess(int index, T result) =>
|
|
642
|
+
ReportEntrySuccess(new SequenceEntrySuccess<T>(index, result));
|
|
643
|
+
|
|
644
|
+
/// <summary>
|
|
645
|
+
/// <inheritdoc cref="ReportEntryError(Beamable.Common.SequenceEntryException)"/>
|
|
646
|
+
/// </summary>
|
|
647
|
+
/// <param name="index">The promise index that failed</param>
|
|
648
|
+
/// <param name="err">The exception that failed the promise</param>
|
|
649
|
+
public void ReportEntryError(int index, Exception err) =>
|
|
650
|
+
ReportEntryError(new SequenceEntryException(index, err));
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
// Do not add doxygen comments to "public static class Promise" because
|
|
654
|
+
// it confuses this with the doxygen output with "public class Promise" - srivello
|
|
655
|
+
[AsyncMethodBuilder(typeof(PromiseAsyncMethodBuilder))]
|
|
656
|
+
public class Promise : Promise<Unit>
|
|
657
|
+
{
|
|
658
|
+
public static Promise Success { get; } = new Promise { done = true };
|
|
659
|
+
|
|
660
|
+
public void CompleteSuccess() => CompleteSuccess(PromiseBase.Unit);
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
/// <summary>
|
|
664
|
+
/// This function accepts a generator that will produce a promise, and then
|
|
665
|
+
/// that promise will be executed.
|
|
666
|
+
///
|
|
667
|
+
/// If the promise fails, the <paramref name="shouldRetry"/> callback will be executed
|
|
668
|
+
/// with the Exception that caused the promise to fail. If the callback returns
|
|
669
|
+
/// `true`, then the generator function will be re-invoked to generate a new promise
|
|
670
|
+
/// instance.
|
|
671
|
+
///
|
|
672
|
+
/// This loop continues until the promise succeeds, the callback returns false,
|
|
673
|
+
/// or the callback has been called <paramref name="maxAttempts"/> times.
|
|
674
|
+
/// </summary>
|
|
675
|
+
/// <param name="promiseGenerator"></param>
|
|
676
|
+
/// <param name="shouldRetry"></param>
|
|
677
|
+
/// <param name="maxAttempts"></param>
|
|
678
|
+
/// <typeparam name="T"></typeparam>
|
|
679
|
+
/// <returns></returns>
|
|
680
|
+
/// <exception cref="InvalidOperationException"></exception>
|
|
681
|
+
public static async Promise<T> RetryPromise<T>(Func<Promise<T>> promiseGenerator, Func<Exception, bool> shouldRetry, int maxAttempts = 1000)
|
|
682
|
+
{
|
|
683
|
+
Exception lastEx = null;
|
|
684
|
+
while (maxAttempts-- > 0)
|
|
685
|
+
{
|
|
686
|
+
try
|
|
687
|
+
{
|
|
688
|
+
var promise = promiseGenerator();
|
|
689
|
+
var result = await promise;
|
|
690
|
+
return result;
|
|
691
|
+
}
|
|
692
|
+
catch (Exception ex)
|
|
693
|
+
{
|
|
694
|
+
lastEx = ex;
|
|
695
|
+
if (!shouldRetry(ex))
|
|
696
|
+
{
|
|
697
|
+
throw;
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
throw new InvalidOperationException("promise failed to complete after maximum retry count", lastEx);
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
/// <summary>
|
|
707
|
+
/// Create a <see cref="SequencePromise{T}"/> from List of <see cref="Promise{T}"/>
|
|
708
|
+
/// </summary>
|
|
709
|
+
/// <param name="promises"></param>
|
|
710
|
+
/// <typeparam name="T"></typeparam>
|
|
711
|
+
/// <returns></returns>
|
|
712
|
+
public static SequencePromise<T> ObservableSequence<T>(IList<Promise<T>> promises)
|
|
713
|
+
{
|
|
714
|
+
var result = new SequencePromise<T>(promises.Count);
|
|
715
|
+
|
|
716
|
+
if (promises == null || promises.Count == 0)
|
|
717
|
+
{
|
|
718
|
+
result.CompleteSuccess();
|
|
719
|
+
return result;
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
for (var i = 0; i < promises.Count; i++)
|
|
723
|
+
{
|
|
724
|
+
var index = i;
|
|
725
|
+
promises[i].Then(reply =>
|
|
726
|
+
{
|
|
727
|
+
result.ReportEntrySuccess(new SequenceEntrySuccess<T>(index, reply));
|
|
728
|
+
|
|
729
|
+
if (result.Total == promises.Count)
|
|
730
|
+
{
|
|
731
|
+
result.CompleteSuccess();
|
|
732
|
+
}
|
|
733
|
+
}).Error(err =>
|
|
734
|
+
{
|
|
735
|
+
result.ReportEntryError(new SequenceEntryException(index, err));
|
|
736
|
+
result.CompleteError(err);
|
|
737
|
+
});
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
return result;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
/// <summary>
|
|
744
|
+
/// Create a <see cref="Promise"/> of List from a List of <see cref="Promise"/>s.
|
|
745
|
+
/// </summary>
|
|
746
|
+
/// <param name="promises"></param>
|
|
747
|
+
/// <typeparam name="T"></typeparam>
|
|
748
|
+
/// <returns></returns>
|
|
749
|
+
public static Promise<List<T>> Sequence<T>(IList<Promise<T>> promises)
|
|
750
|
+
{
|
|
751
|
+
var result = new Promise<List<T>>();
|
|
752
|
+
var replies = new List<T>();
|
|
753
|
+
var completeCount = new AtomicInt();
|
|
754
|
+
for (var i = 0; i < promises.Count; i++)
|
|
755
|
+
{
|
|
756
|
+
replies.Add(default);
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
if (promises.Count == 0)
|
|
760
|
+
{
|
|
761
|
+
result.CompleteSuccess(replies);
|
|
762
|
+
return result;
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
for (var i = 0; i < promises.Count; i++)
|
|
766
|
+
{
|
|
767
|
+
var index = i;
|
|
768
|
+
|
|
769
|
+
promises[index].Then(reply =>
|
|
770
|
+
{
|
|
771
|
+
replies[index] = reply;
|
|
772
|
+
completeCount.Increment();
|
|
773
|
+
|
|
774
|
+
if (completeCount.Value == promises.Count)
|
|
775
|
+
{
|
|
776
|
+
result.CompleteSuccess(replies);
|
|
777
|
+
}
|
|
778
|
+
}).Error(err => result.CompleteError(err));
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
return result;
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
/// <summary>
|
|
785
|
+
/// Create Sequence <see cref="Promise"/> from an array of <see cref="Promise"/>s.
|
|
786
|
+
/// </summary>
|
|
787
|
+
/// <param name="promises"></param>
|
|
788
|
+
/// <typeparam name="T"></typeparam>
|
|
789
|
+
/// <returns></returns>
|
|
790
|
+
public static Promise<List<T>> Sequence<T>(params Promise<T>[] promises)
|
|
791
|
+
{
|
|
792
|
+
return Sequence((IList<Promise<T>>)promises);
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
/// <summary>
|
|
796
|
+
/// Given a list of promise generator functions, process the whole list, but serially.
|
|
797
|
+
/// Only one promise will be active at any given moment.
|
|
798
|
+
/// </summary>
|
|
799
|
+
/// <param name="generators"></param>
|
|
800
|
+
/// <param name="stopWhen"></param>
|
|
801
|
+
/// <typeparam name="T"></typeparam>
|
|
802
|
+
/// <returns>A single promise of Unit to represent the completion of the processing. Any other side effects need to be handled separately</returns>
|
|
803
|
+
public static Promise<Unit> ExecuteSerially<T>(List<Func<Promise<T>>> generators, Func<bool> stopWhen = null)
|
|
804
|
+
{
|
|
805
|
+
#if DISABLE_THREADING // unity doesn't supporting System.Threading
|
|
806
|
+
// use a tail recursion approach. It'll stink for massive lists, but at least it works for small ones
|
|
807
|
+
if (generators.Count == 0)
|
|
808
|
+
{
|
|
809
|
+
return PromiseBase.SuccessfulUnit;
|
|
810
|
+
}
|
|
811
|
+
var first = generators.First();
|
|
812
|
+
var rest = generators.Skip(1).ToList();
|
|
813
|
+
return first().FlatMap(_ => ExecuteSerially<T>(rest));
|
|
814
|
+
#else
|
|
815
|
+
async System.Threading.Tasks.Task Execute()
|
|
816
|
+
{
|
|
817
|
+
for (var i = 0; i < generators.Count; i++)
|
|
818
|
+
{
|
|
819
|
+
if (stopWhen != null && stopWhen())
|
|
820
|
+
{
|
|
821
|
+
break;
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
var generator = generators[i];
|
|
825
|
+
var promise = generator();
|
|
826
|
+
await promise;
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
return Execute().ToPromise();
|
|
831
|
+
#endif
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
private interface IAtomicInt
|
|
835
|
+
{
|
|
836
|
+
int Value { get; }
|
|
837
|
+
void Increment();
|
|
838
|
+
void Decrement();
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
#if DISABLE_THREADING
|
|
842
|
+
private class AtomicInt : IAtomicInt
|
|
843
|
+
{
|
|
844
|
+
public int Value { get; private set; }
|
|
845
|
+
public void Increment()
|
|
846
|
+
{
|
|
847
|
+
Value++;
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
public void Decrement()
|
|
851
|
+
{
|
|
852
|
+
Value--;
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
#else
|
|
856
|
+
private class AtomicInt : IAtomicInt
|
|
857
|
+
{
|
|
858
|
+
private int v;
|
|
859
|
+
|
|
860
|
+
public int Value => System.Threading.Interlocked.CompareExchange(ref v, 0, 0);
|
|
861
|
+
|
|
862
|
+
public void Increment()
|
|
863
|
+
{
|
|
864
|
+
System.Threading.Interlocked.Increment(ref v);
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
public void Decrement()
|
|
868
|
+
{
|
|
869
|
+
System.Threading.Interlocked.Decrement(ref v);
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
#endif
|
|
873
|
+
|
|
874
|
+
/// <summary>
|
|
875
|
+
/// Given a list of promise generator functions, process the list, but in a rolling fashion.
|
|
876
|
+
/// </summary>
|
|
877
|
+
/// <param name="maxProcessSize"></param>
|
|
878
|
+
/// <param name="generators"></param>
|
|
879
|
+
/// <param name="stopWhen"></param>
|
|
880
|
+
/// <typeparam name="T"></typeparam>
|
|
881
|
+
/// <returns></returns>
|
|
882
|
+
[Obsolete("This method isn't safe to use one devices with low callstack limits like Javascript, or Android. Use " + nameof(ExecuteInBatchSequence) + " instead.")]
|
|
883
|
+
public static SequencePromise<T> ExecuteRolling<T>(int maxProcessSize, List<Func<Promise<T>>> generators, Func<bool> stopWhen = null)
|
|
884
|
+
{
|
|
885
|
+
return ExecuteInBatchSequence(maxProcessSize, generators, stopWhen);
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
/// <summary>
|
|
889
|
+
/// Given a list of promise generator functions, process the list, but in batches of some size.
|
|
890
|
+
/// The batches themselves will run one at a time. Every promise in the current batch must finish before the next batch can start.
|
|
891
|
+
/// </summary>
|
|
892
|
+
/// <param name="maxBatchSize"></param>
|
|
893
|
+
/// <param name="generators"></param>
|
|
894
|
+
/// <typeparam name="T"></typeparam>
|
|
895
|
+
/// <returns>A single promise of Unit to represent the completion of the processing. Any other side effects need to be handled separately</returns>
|
|
896
|
+
public static Promise<Unit> ExecuteInBatch<T>(int maxBatchSize, List<Func<Promise<T>>> generators)
|
|
897
|
+
{
|
|
898
|
+
var batches = new List<List<Func<Promise<T>>>>();
|
|
899
|
+
|
|
900
|
+
// create batches...
|
|
901
|
+
for (var i = 0; i < generators.Count; i += maxBatchSize)
|
|
902
|
+
{
|
|
903
|
+
var start = i;
|
|
904
|
+
var minBatchSize = generators.Count - start;
|
|
905
|
+
var count = minBatchSize < maxBatchSize ? minBatchSize : maxBatchSize; // min()
|
|
906
|
+
var batch = generators.GetRange(start, count);
|
|
907
|
+
batches.Add(batch);
|
|
908
|
+
}
|
|
909
|
+
|
|
910
|
+
Promise<List<T>> ProcessBatch(List<Func<Promise<T>>> batch)
|
|
911
|
+
{
|
|
912
|
+
// start all generators in batch...
|
|
913
|
+
return Promise.Sequence(batch.Select(generator => generator()).ToList());
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
// run each batch, serially...
|
|
917
|
+
var batchRunners = batches.Select(batch => new Func<Promise<List<T>>>(() => ProcessBatch(batch))).ToList();
|
|
918
|
+
|
|
919
|
+
return ExecuteSerially(batchRunners);
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
public static SequencePromise<T> ExecuteInBatchSequence<T>(int maxBatchSize, List<Func<Promise<T>>> generators, Func<bool> stopWhen = null)
|
|
923
|
+
{
|
|
924
|
+
var batches = new List<List<Func<Promise<T>>>>();
|
|
925
|
+
|
|
926
|
+
var seq = new SequencePromise<T>(generators.Count);
|
|
927
|
+
var current = new AtomicInt();
|
|
928
|
+
// create batches...
|
|
929
|
+
for (var i = 0; i < generators.Count; i += maxBatchSize)
|
|
930
|
+
{
|
|
931
|
+
var start = i;
|
|
932
|
+
var minBatchSize = generators.Count - start;
|
|
933
|
+
var count = minBatchSize < maxBatchSize ? minBatchSize : maxBatchSize; // min()
|
|
934
|
+
var batch = generators.GetRange(start, count);
|
|
935
|
+
batches.Add(batch);
|
|
936
|
+
}
|
|
937
|
+
|
|
938
|
+
Promise<List<T>> ProcessBatch(List<Func<Promise<T>>> batch)
|
|
939
|
+
{
|
|
940
|
+
// start all generators in batch...
|
|
941
|
+
return Promise.Sequence(batch.Select(generator =>
|
|
942
|
+
{
|
|
943
|
+
var promise = generator();
|
|
944
|
+
var index = current.Value;
|
|
945
|
+
current.Increment();
|
|
946
|
+
promise.Then(res => seq.ReportEntrySuccess(index, res))
|
|
947
|
+
.Error(err => seq.ReportEntryError(index, err));
|
|
948
|
+
return promise;
|
|
949
|
+
}).ToList());
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
// run each batch, serially...
|
|
953
|
+
var batchRunners = batches.Select(batch => new Func<Promise<List<T>>>(() => ProcessBatch(batch))).ToList();
|
|
954
|
+
|
|
955
|
+
ExecuteSerially(batchRunners, stopWhen);
|
|
956
|
+
return seq;
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
/// <summary>
|
|
961
|
+
/// This type defines the static %Beamable %SequenceEntryException.
|
|
962
|
+
///
|
|
963
|
+
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
964
|
+
///
|
|
965
|
+
/// #### Related Links
|
|
966
|
+
/// - See Beamable.Common.Promise script reference
|
|
967
|
+
///
|
|
968
|
+
/// ![img beamable-logo]
|
|
969
|
+
///
|
|
970
|
+
/// </summary>
|
|
971
|
+
public class SequenceEntryException : Exception
|
|
972
|
+
{
|
|
973
|
+
public int Index { get; }
|
|
974
|
+
|
|
975
|
+
public SequenceEntryException(int index, Exception inner) : base($"index[{index}]. {inner.Message}", inner)
|
|
976
|
+
{
|
|
977
|
+
Index = index;
|
|
978
|
+
}
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
/// <summary>
|
|
982
|
+
/// This type defines the static %Beamable %SequenceEntrySuccess.
|
|
983
|
+
///
|
|
984
|
+
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
985
|
+
///
|
|
986
|
+
/// #### Related Links
|
|
987
|
+
/// - See Beamable.Common.Promise script reference
|
|
988
|
+
///
|
|
989
|
+
/// ![img beamable-logo]
|
|
990
|
+
///
|
|
991
|
+
/// </summary>
|
|
992
|
+
public class SequenceEntrySuccess<T>
|
|
993
|
+
{
|
|
994
|
+
public int Index { get; private set; }
|
|
995
|
+
public T Result { get; private set; }
|
|
996
|
+
|
|
997
|
+
public SequenceEntrySuccess(int index, T result)
|
|
998
|
+
{
|
|
999
|
+
Index = index;
|
|
1000
|
+
Result = result;
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
/// <summary>
|
|
1005
|
+
/// This type defines the static %Beamable %PromiseExtensions.
|
|
1006
|
+
///
|
|
1007
|
+
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
1008
|
+
///
|
|
1009
|
+
/// #### Related Links
|
|
1010
|
+
/// - See Beamable.Common.Promise script reference
|
|
1011
|
+
///
|
|
1012
|
+
/// ![img beamable-logo]
|
|
1013
|
+
///
|
|
1014
|
+
/// </summary>
|
|
1015
|
+
public static class PromiseExtensions
|
|
1016
|
+
{
|
|
1017
|
+
/// <summary>
|
|
1018
|
+
/// Create a new promise that potentially recovers from a failure that occurs in the given promise.
|
|
1019
|
+
/// If the given promise succeeds, this method's returned promise will succeed with the same value.
|
|
1020
|
+
/// If the given promise fails, the exception will be passed to the callback, and this method's returned promise will succeed
|
|
1021
|
+
/// or fail based on the return value of the callback. If the callback returns a <typeparamref name="T"/>, then the returned promise
|
|
1022
|
+
/// will succeed with that value. If the callback throws the same exception, or raises a new one, then the returned promise
|
|
1023
|
+
/// will fail with the given exception.
|
|
1024
|
+
/// </summary>
|
|
1025
|
+
/// <param name="promise">A promise</param>
|
|
1026
|
+
/// <param name="callback">A recovery function</param>
|
|
1027
|
+
/// <typeparam name="T">The type of the promise</typeparam>
|
|
1028
|
+
/// <returns>A new promise that may recover from a potential failure in the given promise</returns>
|
|
1029
|
+
public static Promise<T> Recover<T>(this Promise<T> promise, Func<Exception, T> callback)
|
|
1030
|
+
{
|
|
1031
|
+
var result = new Promise<T>();
|
|
1032
|
+
promise.Then(value => result.CompleteSuccess(value))
|
|
1033
|
+
.Error(err =>
|
|
1034
|
+
{
|
|
1035
|
+
try
|
|
1036
|
+
{
|
|
1037
|
+
result.CompleteSuccess(callback(err));
|
|
1038
|
+
}
|
|
1039
|
+
catch (Exception ex)
|
|
1040
|
+
{
|
|
1041
|
+
result.CompleteError(ex);
|
|
1042
|
+
}
|
|
1043
|
+
});
|
|
1044
|
+
return result;
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
/// <summary>
|
|
1048
|
+
/// Similar to <see cref="Recover{T}"/>.
|
|
1049
|
+
/// However, The callback returns a <see cref="Promise{T}"/> instead of a <typeparamref name="T"/> directly.
|
|
1050
|
+
/// </summary>
|
|
1051
|
+
/// <param name="promise">A promise</param>
|
|
1052
|
+
/// <param name="callback">A recovery function</param>
|
|
1053
|
+
/// <typeparam name="T">The type of the promise</typeparam>
|
|
1054
|
+
/// <returns>A new promise that may recover from a potential failure in the given promise</returns>
|
|
1055
|
+
public static Promise<T> RecoverWith<T>(this Promise<T> promise, Func<Exception, Promise<T>> callback)
|
|
1056
|
+
{
|
|
1057
|
+
var result = new Promise<T>();
|
|
1058
|
+
promise.Then(value => result.CompleteSuccess(value)).Error(err =>
|
|
1059
|
+
{
|
|
1060
|
+
try
|
|
1061
|
+
{
|
|
1062
|
+
var nextPromise = callback(err);
|
|
1063
|
+
nextPromise.Then(value => result.CompleteSuccess(value)).Error(errInner =>
|
|
1064
|
+
{
|
|
1065
|
+
result.CompleteError(errInner);
|
|
1066
|
+
});
|
|
1067
|
+
}
|
|
1068
|
+
catch (Exception ex)
|
|
1069
|
+
{
|
|
1070
|
+
result.CompleteError(ex);
|
|
1071
|
+
}
|
|
1072
|
+
});
|
|
1073
|
+
return result;
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
public static Promise<T> ReportInnerException<T>(this Promise<T> promise, bool raiseInnerException = true)
|
|
1077
|
+
{
|
|
1078
|
+
promise.RaiseInnerException = raiseInnerException;
|
|
1079
|
+
return promise;
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
#if !UNITY_WEBGL || UNITY_EDITOR // webgl does not support the system.threading library
|
|
1083
|
+
/// <summary>
|
|
1084
|
+
/// Convert <see cref="System.Threading.Tasks.Task"/> to <see cref="Promise{Unit}"/>.
|
|
1085
|
+
/// </summary>
|
|
1086
|
+
/// <param name="task"></param>
|
|
1087
|
+
/// <returns></returns>
|
|
1088
|
+
public static Promise<Unit> ToPromise(this System.Threading.Tasks.Task task)
|
|
1089
|
+
{
|
|
1090
|
+
var promise = new Promise<Unit>();
|
|
1091
|
+
|
|
1092
|
+
async System.Threading.Tasks.Task Helper()
|
|
1093
|
+
{
|
|
1094
|
+
try
|
|
1095
|
+
{
|
|
1096
|
+
await task;
|
|
1097
|
+
promise.CompleteSuccess(PromiseBase.Unit);
|
|
1098
|
+
|
|
1099
|
+
}
|
|
1100
|
+
catch (Exception ex)
|
|
1101
|
+
{
|
|
1102
|
+
promise.CompleteError(ex);
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
var _ = Helper();
|
|
1107
|
+
|
|
1108
|
+
return promise;
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
/// <summary>
|
|
1112
|
+
/// Convert <see cref="System.Threading.Tasks.Task{T}"/> to <see cref="Promise{T}"/>.
|
|
1113
|
+
/// </summary>
|
|
1114
|
+
/// <param name="task"></param>
|
|
1115
|
+
/// <typeparam name="T"></typeparam>
|
|
1116
|
+
/// <returns></returns>
|
|
1117
|
+
public static Promise<T> ToPromise<T>(this System.Threading.Tasks.Task<T> task)
|
|
1118
|
+
{
|
|
1119
|
+
var promise = new Promise<T>();
|
|
1120
|
+
|
|
1121
|
+
async System.Threading.Tasks.Task Helper()
|
|
1122
|
+
{
|
|
1123
|
+
try
|
|
1124
|
+
{
|
|
1125
|
+
var result = await task;
|
|
1126
|
+
promise.CompleteSuccess(result);
|
|
1127
|
+
}
|
|
1128
|
+
catch (Exception ex)
|
|
1129
|
+
{
|
|
1130
|
+
promise.CompleteError(ex);
|
|
1131
|
+
}
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
var _ = Helper();
|
|
1135
|
+
|
|
1136
|
+
return promise;
|
|
1137
|
+
}
|
|
1138
|
+
#endif
|
|
1139
|
+
|
|
1140
|
+
/// <summary>
|
|
1141
|
+
/// Convert the given promise to a <see cref="Promise{Unit}"/>
|
|
1142
|
+
/// </summary>
|
|
1143
|
+
/// <param name="self">some promise of type <typeparamref name="T"/></param>
|
|
1144
|
+
/// <typeparam name="T">some type</typeparam>
|
|
1145
|
+
/// <returns>A promise of type Unit</returns>
|
|
1146
|
+
public static Promise<Unit> ToUnit<T>(this Promise<T> self)
|
|
1147
|
+
{
|
|
1148
|
+
return self.Map(_ => PromiseBase.Unit);
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
/// <summary>
|
|
1152
|
+
/// Create a new promise that strips away the generic type information of the given promise.
|
|
1153
|
+
/// </summary>
|
|
1154
|
+
/// <param name="self">Some promise</param>
|
|
1155
|
+
/// <typeparam name="T">some type</typeparam>
|
|
1156
|
+
/// <returns>A typeless promise</returns>
|
|
1157
|
+
public static Promise ToPromise<T>(this Promise<T> self)
|
|
1158
|
+
{
|
|
1159
|
+
var p = new Promise();
|
|
1160
|
+
self.Then(_ => p.CompleteSuccess(PromiseBase.Unit));
|
|
1161
|
+
self.Error(p.CompleteError);
|
|
1162
|
+
return p;
|
|
1163
|
+
}
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
/// <summary>
|
|
1167
|
+
/// This type defines the static %Beamable %UncaughtPromiseException.
|
|
1168
|
+
///
|
|
1169
|
+
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
1170
|
+
///
|
|
1171
|
+
/// #### Related Links
|
|
1172
|
+
/// - See Beamable.Common.Promise script reference
|
|
1173
|
+
///
|
|
1174
|
+
/// ![img beamable-logo]
|
|
1175
|
+
///
|
|
1176
|
+
/// </summary>
|
|
1177
|
+
public class UncaughtPromiseException : Exception
|
|
1178
|
+
{
|
|
1179
|
+
public PromiseBase Promise { get; }
|
|
1180
|
+
|
|
1181
|
+
public UncaughtPromiseException(PromiseBase promise, Exception ex) : base(
|
|
1182
|
+
$"Uncaught promise innerMsg=[{ex.Message}] innerType=[{ex?.GetType()?.Name}] ", ex)
|
|
1183
|
+
{
|
|
1184
|
+
Promise = promise;
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
1187
|
+
|
|
1188
|
+
/// <summary>
|
|
1189
|
+
/// This type defines the struct %Beamable %Unit.
|
|
1190
|
+
///
|
|
1191
|
+
/// [img beamable-logo]: https://landen.imgix.net/7udgo2lvquge/assets/xgh89bz1.png?w=400 "Beamable Logo"
|
|
1192
|
+
///
|
|
1193
|
+
/// #### Related Links
|
|
1194
|
+
/// - See Beamable.Common.Promise script reference
|
|
1195
|
+
///
|
|
1196
|
+
/// ![img beamable-logo]
|
|
1197
|
+
///
|
|
1198
|
+
/// </summary>
|
|
1199
|
+
public readonly struct Unit
|
|
1200
|
+
{
|
|
1201
|
+
}
|
|
1202
|
+
|
|
1203
|
+
/// <summary>
|
|
1204
|
+
/// https://github.com/dotnet/roslyn/blob/main/docs/features/task-types.md
|
|
1205
|
+
/// https://referencesource.microsoft.com/#mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs
|
|
1206
|
+
/// </summary>
|
|
1207
|
+
/// <typeparam name="T"></typeparam>
|
|
1208
|
+
public sealed class PromiseAsyncMethodBuilder<T>
|
|
1209
|
+
{
|
|
1210
|
+
private IAsyncStateMachine _stateMachine;
|
|
1211
|
+
private Promise<T> _promise = new Promise<T>(); // TODO: allocation.
|
|
1212
|
+
|
|
1213
|
+
public static PromiseAsyncMethodBuilder<T> Create()
|
|
1214
|
+
{
|
|
1215
|
+
return new PromiseAsyncMethodBuilder<T>();
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
public void SetResult(T res)
|
|
1219
|
+
{
|
|
1220
|
+
_promise.CompleteSuccess(res);
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
public void SetException(Exception ex)
|
|
1224
|
+
{
|
|
1225
|
+
_promise.RaiseInnerException = true;
|
|
1226
|
+
// TODO: there is a bug here, where an "uncaught" exception can still happen even if someone try/catches it.
|
|
1227
|
+
_promise.Error(err => { });
|
|
1228
|
+
_promise.CompleteError(ex);
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1231
|
+
public void SetStateMachine(IAsyncStateMachine machine)
|
|
1232
|
+
{
|
|
1233
|
+
_stateMachine = machine;
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1236
|
+
public void AwaitOnCompleted<TAwaiter, TStateMachine>(
|
|
1237
|
+
ref TAwaiter awaiter, ref TStateMachine stateMachine)
|
|
1238
|
+
where TAwaiter : INotifyCompletion
|
|
1239
|
+
where TStateMachine : IAsyncStateMachine
|
|
1240
|
+
{
|
|
1241
|
+
if (_stateMachine == null)
|
|
1242
|
+
{
|
|
1243
|
+
_stateMachine = stateMachine;
|
|
1244
|
+
_stateMachine.SetStateMachine(stateMachine);
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
awaiter.OnCompleted(() =>
|
|
1248
|
+
{
|
|
1249
|
+
_stateMachine.MoveNext();
|
|
1250
|
+
});
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(
|
|
1254
|
+
ref TAwaiter awaiter, ref TStateMachine stateMachine)
|
|
1255
|
+
where TAwaiter : ICriticalNotifyCompletion
|
|
1256
|
+
where TStateMachine : IAsyncStateMachine
|
|
1257
|
+
{
|
|
1258
|
+
AwaitOnCompleted(ref awaiter, ref stateMachine);
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
public void Start<TStateMachine>(ref TStateMachine stateMachine)
|
|
1262
|
+
where TStateMachine : IAsyncStateMachine
|
|
1263
|
+
{
|
|
1264
|
+
stateMachine.MoveNext();
|
|
1265
|
+
}
|
|
1266
|
+
|
|
1267
|
+
public Promise<T> Task => _promise;
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1270
|
+
public sealed class PromiseAsyncMethodBuilder
|
|
1271
|
+
{
|
|
1272
|
+
private IAsyncStateMachine _stateMachine;
|
|
1273
|
+
private Promise _promise = new Promise(); // TODO: allocation.
|
|
1274
|
+
|
|
1275
|
+
public static PromiseAsyncMethodBuilder Create()
|
|
1276
|
+
{
|
|
1277
|
+
return new PromiseAsyncMethodBuilder();
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
public void SetResult()
|
|
1281
|
+
{
|
|
1282
|
+
_promise.CompleteSuccess(PromiseBase.Unit);
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1285
|
+
public void SetException(Exception ex)
|
|
1286
|
+
{
|
|
1287
|
+
_promise.RaiseInnerException = true;
|
|
1288
|
+
_promise.CompleteError(ex);
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
public void SetStateMachine(IAsyncStateMachine machine)
|
|
1292
|
+
{
|
|
1293
|
+
_stateMachine = machine;
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
public void AwaitOnCompleted<TAwaiter, TStateMachine>(
|
|
1297
|
+
ref TAwaiter awaiter, ref TStateMachine stateMachine)
|
|
1298
|
+
where TAwaiter : INotifyCompletion
|
|
1299
|
+
where TStateMachine : IAsyncStateMachine
|
|
1300
|
+
{
|
|
1301
|
+
if (_stateMachine == null)
|
|
1302
|
+
{
|
|
1303
|
+
_stateMachine = stateMachine;
|
|
1304
|
+
_stateMachine.SetStateMachine(stateMachine);
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
awaiter.OnCompleted(() =>
|
|
1308
|
+
{
|
|
1309
|
+
_stateMachine.MoveNext();
|
|
1310
|
+
});
|
|
1311
|
+
}
|
|
1312
|
+
|
|
1313
|
+
public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine>(
|
|
1314
|
+
ref TAwaiter awaiter, ref TStateMachine stateMachine)
|
|
1315
|
+
where TAwaiter : ICriticalNotifyCompletion
|
|
1316
|
+
where TStateMachine : IAsyncStateMachine
|
|
1317
|
+
{
|
|
1318
|
+
AwaitOnCompleted(ref awaiter, ref stateMachine);
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1321
|
+
public void Start<TStateMachine>(ref TStateMachine stateMachine)
|
|
1322
|
+
where TStateMachine : IAsyncStateMachine
|
|
1323
|
+
{
|
|
1324
|
+
stateMachine.MoveNext();
|
|
1325
|
+
}
|
|
1326
|
+
|
|
1327
|
+
public Promise Task => _promise;
|
|
1328
|
+
}
|
|
1329
|
+
}
|