com.beamable 5.0.0-PREVIEW.RC5 → 5.0.0-PREVIEW.RC7
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 +3 -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 +770 -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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +419 -419
- package/Editor/BeamCli/BeamCliUtil.cs +254 -254
- package/Editor/BeamCli/BeamCommand.cs +555 -555
- 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/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.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/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/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.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.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 -57
- 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 -539
- 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 +733 -733
- package/Editor/BeamableLinker.cs +77 -77
- package/Editor/BuildPostProcessor.cs +44 -44
- package/Editor/BuildPreProcessor.cs +264 -264
- package/Editor/ContentService/CliContentService.cs +44 -9
- 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 -1152
- 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 +32 -32
- package/Editor/Toolbar/BeamableToolbarButton.cs +45 -45
- package/Editor/Toolbar/BeamableToolbarCallbacks.cs +153 -153
- package/Editor/Toolbar/BeamableToolbarExtender.cs +137 -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 +100 -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/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 +5 -1
- package/Editor/UI/ContentWindow/ContentWindow_ItemsPanel.cs +3 -10
- 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/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,893 +1,893 @@
|
|
|
1
|
-
using Beamable.Api;
|
|
2
|
-
using Beamable.Api.Autogenerated.Models;
|
|
3
|
-
using Beamable.Api.Caches;
|
|
4
|
-
using Beamable.Api.Connectivity;
|
|
5
|
-
using Beamable.Api.Inventory;
|
|
6
|
-
using Beamable.Common;
|
|
7
|
-
using Beamable.Common.Api;
|
|
8
|
-
using Beamable.Common.Api.Content;
|
|
9
|
-
using Beamable.Common.Api.Inventory;
|
|
10
|
-
using Beamable.Common.Api.Notifications;
|
|
11
|
-
using Beamable.Common.Content;
|
|
12
|
-
using Beamable.Common.Dependencies;
|
|
13
|
-
using Beamable.Common.Inventory;
|
|
14
|
-
using Beamable.Coroutines;
|
|
15
|
-
using System;
|
|
16
|
-
using System.Collections.Generic;
|
|
17
|
-
using System.Linq;
|
|
18
|
-
using UnityEngine;
|
|
19
|
-
using CurrencyProperty = Beamable.Api.Autogenerated.Models.CurrencyProperty;
|
|
20
|
-
using IInventoryApi = Beamable.Api.Autogenerated.Inventory.IInventoryApi;
|
|
21
|
-
using InventoryView = Beamable.Api.Autogenerated.Models.InventoryView;
|
|
22
|
-
using ItemGroup = Beamable.Api.Autogenerated.Models.ItemGroup;
|
|
23
|
-
|
|
24
|
-
namespace Beamable.Player
|
|
25
|
-
{
|
|
26
|
-
[Serializable]
|
|
27
|
-
public class SerializedDictionaryStringToPlayerItemGroup : SerializableDictionaryStringToSomething<PlayerItemGroup>
|
|
28
|
-
{
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
[Serializable]
|
|
33
|
-
public class SerializedDictionaryStringToPlayerCurrencyGroup : SerializableDictionaryStringToSomething<PlayerCurrencyGroup>
|
|
34
|
-
{
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
[Serializable]
|
|
38
|
-
public class PlayerItemTrieEntry : TrieSerializationEntry<PlayerItem> { }
|
|
39
|
-
|
|
40
|
-
[Serializable]
|
|
41
|
-
public class PlayerCurrencyTrieEntry : TrieSerializationEntry<PlayerCurrency> { }
|
|
42
|
-
|
|
43
|
-
[Serializable]
|
|
44
|
-
public class PlayerItemTrie : Trie<PlayerItem, PlayerItemTrieEntry>
|
|
45
|
-
{
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
[Serializable]
|
|
50
|
-
public class PlayerCurrencyTrie : Trie<PlayerCurrency, PlayerCurrencyTrieEntry>
|
|
51
|
-
{
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/// <summary>
|
|
56
|
-
/// <para>
|
|
57
|
-
/// The player's inventory can have <see cref="Currencies"/>, and items, which can be accessed via <see cref="GetItems"/>
|
|
58
|
-
/// </para>
|
|
59
|
-
/// </summary>
|
|
60
|
-
[Serializable]
|
|
61
|
-
public class PlayerInventory : IStorageHandler<PlayerInventory>, IServiceStorable
|
|
62
|
-
{
|
|
63
|
-
private readonly InventoryService _inventoryApi;
|
|
64
|
-
private readonly IInventoryApi _openApi;
|
|
65
|
-
private readonly IUserContext _userContext;
|
|
66
|
-
private readonly Debouncer _debouncer;
|
|
67
|
-
private readonly INotificationService _notificationService;
|
|
68
|
-
private readonly CoreConfiguration _config;
|
|
69
|
-
private readonly IContentApi _contentService;
|
|
70
|
-
private readonly ISdkEventService _sdkEventService;
|
|
71
|
-
private readonly SdkEventConsumer _consumer;
|
|
72
|
-
private HashSet<string> nextScopes = new HashSet<string>();
|
|
73
|
-
|
|
74
|
-
public PlayerCurrencyGroup Currencies { get; }
|
|
75
|
-
|
|
76
|
-
/// <summary>
|
|
77
|
-
/// The local items represent the current items that the SDK has subscribed to.
|
|
78
|
-
/// This structure is not observable. Consider using the <see cref="GetItems"/> function to get an observable, serializable <see cref="PlayerItemGroup"/>.
|
|
79
|
-
/// Modifications to this structure will not update the player's inventory.
|
|
80
|
-
/// To update the items, use the <see cref="Update(System.Action{Beamable.Common.Api.Inventory.InventoryUpdateBuilder},string)"/> method.
|
|
81
|
-
/// </summary>
|
|
82
|
-
public PlayerItemTrie LocalItems => localItems;
|
|
83
|
-
|
|
84
|
-
/// <summary>
|
|
85
|
-
/// The local currencies represent the current currencies that the SDK has subscribed to.
|
|
86
|
-
/// This structure is not observable. Consider using the <see cref="GetCurrencies"/> function to get an observable, serializable <see cref="PlayerCurrencyGroup"/>.
|
|
87
|
-
/// Modifications to this structure will not update the player's inventory.
|
|
88
|
-
/// To update the currencies, use the <see cref="Update(System.Action{Beamable.Common.Api.Inventory.InventoryUpdateBuilder},string)"/> method.
|
|
89
|
-
/// </summary>
|
|
90
|
-
public PlayerCurrencyTrie LocalCurrencies => localCurrencies;
|
|
91
|
-
|
|
92
|
-
[SerializeField]
|
|
93
|
-
private PlayerItemTrie localItems;
|
|
94
|
-
|
|
95
|
-
[SerializeField]
|
|
96
|
-
private PlayerCurrencyTrie localCurrencies;
|
|
97
|
-
|
|
98
|
-
private IntTrie _requestCounter = new IntTrie();
|
|
99
|
-
|
|
100
|
-
private SerializedDictionaryStringToPlayerItemGroup _scopeToItemGroup = new SerializedDictionaryStringToPlayerItemGroup();
|
|
101
|
-
private SerializedDictionaryStringToPlayerCurrencyGroup _scopeToCurrencyGroup = new SerializedDictionaryStringToPlayerCurrencyGroup();
|
|
102
|
-
private InventoryUpdateBuilder _delayedBuilder = new InventoryUpdateBuilder();
|
|
103
|
-
private Promise _delayedUpdatePromise;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
[SerializeField]
|
|
107
|
-
private SerializableDictionaryStringToString _itemIdToReqId = new SerializableDictionaryStringToString();
|
|
108
|
-
[SerializeField]
|
|
109
|
-
private long _nextOfflineItemId;
|
|
110
|
-
[SerializeField]
|
|
111
|
-
private InventoryUpdateBuilder _offlineUpdate = new InventoryUpdateBuilder();
|
|
112
|
-
|
|
113
|
-
private StorageHandle<PlayerInventory> _saveHandle;
|
|
114
|
-
private Promise _pendingUpdate;
|
|
115
|
-
|
|
116
|
-
public PlayerInventory()
|
|
117
|
-
{
|
|
118
|
-
localCurrencies = new PlayerCurrencyTrie();
|
|
119
|
-
localItems = new PlayerItemTrie();
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
public PlayerInventory(
|
|
123
|
-
IPlatformService platformService,
|
|
124
|
-
INotificationService notificationService,
|
|
125
|
-
IDependencyProvider provider,
|
|
126
|
-
CoreConfiguration config,
|
|
127
|
-
IContentApi contentService,
|
|
128
|
-
ISdkEventService sdkEventService,
|
|
129
|
-
IInventoryApi openApi,
|
|
130
|
-
IUserContext userContext,
|
|
131
|
-
Debouncer debouncer)
|
|
132
|
-
{
|
|
133
|
-
_openApi = openApi;
|
|
134
|
-
_userContext = userContext;
|
|
135
|
-
_debouncer = debouncer;
|
|
136
|
-
_inventoryApi = provider.GetService<CachelessInventoryService>();
|
|
137
|
-
_notificationService = notificationService;
|
|
138
|
-
_config = config;
|
|
139
|
-
_contentService = contentService;
|
|
140
|
-
_sdkEventService = sdkEventService;
|
|
141
|
-
|
|
142
|
-
localCurrencies = new PlayerCurrencyTrie();
|
|
143
|
-
localItems = new PlayerItemTrie();
|
|
144
|
-
|
|
145
|
-
Currencies = GetCurrencies();
|
|
146
|
-
_notificationService.Subscribe<InventoryScopeNotification>("inventory.refresh", OnInventoryUpdated);
|
|
147
|
-
provider.GetService<BeamContext>().OnUserLoggingOut += (_) =>
|
|
148
|
-
{
|
|
149
|
-
// before the context actually changes, save the old data.
|
|
150
|
-
_saveHandle?.Save();
|
|
151
|
-
};
|
|
152
|
-
platformService.OnReloadUser += () =>
|
|
153
|
-
{
|
|
154
|
-
// Now that the user has changed, load and apply the latest data...
|
|
155
|
-
_saveHandle?.Load();
|
|
156
|
-
var _ = Refresh();
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
_consumer = _sdkEventService.Register(nameof(PlayerInventory), HandleEvent);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
public void ReceiveStorageHandle(StorageHandle<PlayerInventory> handle)
|
|
163
|
-
{
|
|
164
|
-
_saveHandle = handle;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
[Serializable]
|
|
168
|
-
public class InventoryScopeNotification
|
|
169
|
-
{
|
|
170
|
-
public string[] scopes;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
private class InventoryViewResult
|
|
174
|
-
{
|
|
175
|
-
public InventoryView view;
|
|
176
|
-
public bool isOffline;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
/// <summary>
|
|
180
|
-
/// Refresh the current items and currencies based on the given <see cref="scopes"/>.
|
|
181
|
-
/// If no calls to <see cref="GetItems"/> or <see cref="GetCurrencies"/> have been made,
|
|
182
|
-
/// then no scopes have been subscribed and therefor, no scopes will actually be updated.
|
|
183
|
-
/// </summary>
|
|
184
|
-
/// <param name="scopes"></param>
|
|
185
|
-
public async Promise Refresh(params string[] scopes)
|
|
186
|
-
{
|
|
187
|
-
foreach (var scope in scopes)
|
|
188
|
-
{
|
|
189
|
-
nextScopes.Add(scope);
|
|
190
|
-
}
|
|
191
|
-
await _debouncer.SetTimeout(GetLatestInventory);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
private void OnInventoryUpdated(InventoryScopeNotification update)
|
|
195
|
-
{
|
|
196
|
-
var _ = Refresh(update.scopes);
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
private async Promise<InventoryViewResult> DownloadInventoryData(string[] scopes)
|
|
200
|
-
{
|
|
201
|
-
var result = new InventoryViewResult();
|
|
202
|
-
var req = new InventoryQueryRequest();
|
|
203
|
-
req.scopes.Set(scopes);
|
|
204
|
-
|
|
205
|
-
try
|
|
206
|
-
{
|
|
207
|
-
result.view = await _openApi.ObjectPost(_userContext.UserId, req);
|
|
208
|
-
}
|
|
209
|
-
catch (NoConnectivityException)
|
|
210
|
-
{
|
|
211
|
-
result.isOffline = true;
|
|
212
|
-
}
|
|
213
|
-
return result;
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
private async Promise GetLatestInventory()
|
|
219
|
-
{
|
|
220
|
-
try
|
|
221
|
-
{
|
|
222
|
-
var scopes = nextScopes.ToArray();
|
|
223
|
-
nextScopes.Clear();
|
|
224
|
-
|
|
225
|
-
// we only want to get scopes that are relevant to the currently requested data, or the current data in memory
|
|
226
|
-
var filteredItems = localItems.GetRelevantKeys(scopes).ToArray();
|
|
227
|
-
var filteredCurrencies = localCurrencies.GetRelevantKeys(scopes).ToArray();
|
|
228
|
-
var filteredRequests = _requestCounter.GetRelevantKeys(scopes).ToArray();
|
|
229
|
-
var joined = filteredItems.Union(filteredCurrencies).Union(filteredRequests).Distinct().ToArray();
|
|
230
|
-
|
|
231
|
-
var filteredScopes = joined;
|
|
232
|
-
if (filteredScopes.Length == 0) return; // if there are no scopes, there is nothing to download. But actually, the API treats an empty scope as "everything", which is extra bad for us.
|
|
233
|
-
if (_userContext.UserId == 0)
|
|
234
|
-
{
|
|
235
|
-
throw new Exception($"Call to {nameof(PlayerInventory)} with empty UserID- BeamContext is not ready yet, search OnReady for more information.");
|
|
236
|
-
}
|
|
237
|
-
var result = await DownloadInventoryData(filteredScopes);
|
|
238
|
-
|
|
239
|
-
if (result.isOffline)
|
|
240
|
-
{
|
|
241
|
-
// if we are offline, then the trie already has the data, and there is nothing to do.
|
|
242
|
-
foreach (var kvp in _scopeToItemGroup)
|
|
243
|
-
{
|
|
244
|
-
kvp.Value.Notify();
|
|
245
|
-
}
|
|
246
|
-
foreach (var kvp in _scopeToCurrencyGroup)
|
|
247
|
-
{
|
|
248
|
-
kvp.Value.Notify();
|
|
249
|
-
}
|
|
250
|
-
return;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
var unseenScopes = new HashSet<string>(scopes);
|
|
254
|
-
|
|
255
|
-
var itemGroupsToUpdate = new HashSet<PlayerItemGroup>();
|
|
256
|
-
var currGroupsToUpdate = new HashSet<PlayerCurrencyGroup>();
|
|
257
|
-
var res = result.view;
|
|
258
|
-
|
|
259
|
-
#region update or create items
|
|
260
|
-
foreach (var group in res.items)
|
|
261
|
-
{
|
|
262
|
-
unseenScopes.Remove(group.id);
|
|
263
|
-
|
|
264
|
-
var plrItems = new PlayerItem[group.items.Length];
|
|
265
|
-
var contentRef = new ItemRef(group.id);
|
|
266
|
-
var content = await contentRef.Resolve().Recover(_ => null); ;
|
|
267
|
-
var seen = new HashSet<PlayerItem>();
|
|
268
|
-
|
|
269
|
-
// create a lookup table from item-id to existing PlayerItem. We don't want to re-create instances if they already exist by id.
|
|
270
|
-
var existingItems = localItems.GetExact(group.id);
|
|
271
|
-
var idToExistingItem = new Dictionary<int, PlayerItem>();
|
|
272
|
-
foreach (var item in existingItems)
|
|
273
|
-
{
|
|
274
|
-
idToExistingItem[item.UniqueCode] = item;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
// iterate through all the latest items in this group.
|
|
278
|
-
for (var i = 0; i < group.items.Length; i++)
|
|
279
|
-
{
|
|
280
|
-
var itemId = group.items[i].id;
|
|
281
|
-
var code = ((itemId.GetHashCode() << 5) + itemId.GetHashCode()) ^ group.id.GetHashCode();
|
|
282
|
-
|
|
283
|
-
if (idToExistingItem.TryGetValue(code, out var existingItem))
|
|
284
|
-
{
|
|
285
|
-
// this item already exists, so we need to update the existing instance in place, and then trigger an update.
|
|
286
|
-
seen.Add(existingItem);
|
|
287
|
-
plrItems[i] = existingItem;
|
|
288
|
-
existingItem.Content = content;
|
|
289
|
-
existingItem.CreatedAt = group.items[i].createdAt.GetOrElse(0);
|
|
290
|
-
existingItem.FederatedId = group.items[i].proxyId;
|
|
291
|
-
existingItem.UpdatedAt = group.items[i].updatedAt.GetOrElse(0);
|
|
292
|
-
existingItem.Properties.Clear();
|
|
293
|
-
foreach (var property in group.items[i].properties)
|
|
294
|
-
{
|
|
295
|
-
existingItem.Properties[property.name] = property.value;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
existingItem.TriggerUpdate();
|
|
299
|
-
}
|
|
300
|
-
else // when the new item isn't represented locally yet, we need to allocate a new PlayerItem
|
|
301
|
-
{
|
|
302
|
-
var newItem = plrItems[i] = new PlayerItem
|
|
303
|
-
{
|
|
304
|
-
Content = content,
|
|
305
|
-
ItemId = itemId,
|
|
306
|
-
ContentId = group.id,
|
|
307
|
-
FederatedId = group.items[i].proxyId,
|
|
308
|
-
CreatedAt = group.items[i].createdAt.GetOrElse(0),
|
|
309
|
-
UpdatedAt = group.items[i].updatedAt.GetOrElse(0),
|
|
310
|
-
UniqueCode = code
|
|
311
|
-
};
|
|
312
|
-
foreach (var property in group.items[i].properties)
|
|
313
|
-
{
|
|
314
|
-
newItem.Properties[property.name] = property.value;
|
|
315
|
-
}
|
|
316
|
-
|
|
317
|
-
newItem.TriggerUpdate();
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
// any item that wasn't seen in the latest server set needs to be removed.
|
|
323
|
-
var unseen = existingItems.Except(seen);
|
|
324
|
-
foreach (var item in unseen)
|
|
325
|
-
{
|
|
326
|
-
item.TriggerDeletion();
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
// commit the data to the local "database", trie.
|
|
330
|
-
localItems.SetRange(group.id, plrItems);
|
|
331
|
-
}
|
|
332
|
-
#endregion
|
|
333
|
-
|
|
334
|
-
#region handle the deletion of entire item groups
|
|
335
|
-
foreach (var deletedScope in unseenScopes)
|
|
336
|
-
{
|
|
337
|
-
var removed = localItems.GetExact(deletedScope);
|
|
338
|
-
foreach (var removedItem in removed)
|
|
339
|
-
{
|
|
340
|
-
removedItem.TriggerDeletion();
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
localItems.ClearExact(deletedScope);
|
|
344
|
-
foreach (var node in localItems.Traverse(deletedScope))
|
|
345
|
-
{
|
|
346
|
-
if (_scopeToItemGroup.TryGetValue(node.path, out var existingGroup))
|
|
347
|
-
{
|
|
348
|
-
itemGroupsToUpdate.Add(existingGroup);
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
#endregion
|
|
353
|
-
|
|
354
|
-
#region update or create currencies
|
|
355
|
-
|
|
356
|
-
// create a lookup table of existing currencies
|
|
357
|
-
var existingCurrs = localCurrencies.GetAll("currency");
|
|
358
|
-
var idToExistingCurr = new Dictionary<string, PlayerCurrency>();
|
|
359
|
-
foreach (var item in existingCurrs)
|
|
360
|
-
{
|
|
361
|
-
idToExistingCurr[item.CurrencyId] = item;
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
foreach (var currency in res.currencies)
|
|
365
|
-
{
|
|
366
|
-
var currRef = new CurrencyRef(currency.id);
|
|
367
|
-
var content = await currRef.Resolve().Recover(_ => null);
|
|
368
|
-
if (idToExistingCurr.TryGetValue(currency.id, out var existing))
|
|
369
|
-
{
|
|
370
|
-
// the server currency already exited locally, so we can update it in place
|
|
371
|
-
existing.Content = content;
|
|
372
|
-
existing.Properties.Clear();
|
|
373
|
-
foreach (var property in currency.properties)
|
|
374
|
-
{
|
|
375
|
-
existing.Properties[property.name] = property.value;
|
|
376
|
-
}
|
|
377
|
-
existing.Amount = currency.amount;
|
|
378
|
-
}
|
|
379
|
-
else // when the currency isn't represented locally yet, we need to allocate one
|
|
380
|
-
{
|
|
381
|
-
existing = new PlayerCurrency
|
|
382
|
-
{
|
|
383
|
-
Content = content,
|
|
384
|
-
Amount = currency.amount,
|
|
385
|
-
CurrencyId = currency.id,
|
|
386
|
-
};
|
|
387
|
-
foreach (var property in currency.properties)
|
|
388
|
-
{
|
|
389
|
-
existing.Properties[property.name] = property.value;
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
idToExistingCurr[currency.id] = existing;
|
|
393
|
-
localCurrencies.Insert(currency.id, existing);
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
}
|
|
397
|
-
#endregion
|
|
398
|
-
|
|
399
|
-
#region handle group updates
|
|
400
|
-
// now that the trie has been updated, notify all itemGroups that their data needs to update
|
|
401
|
-
foreach (var group in res.items)
|
|
402
|
-
{
|
|
403
|
-
foreach (var node in localItems.Traverse(group.id))
|
|
404
|
-
{
|
|
405
|
-
if (_scopeToItemGroup.TryGetValue(node.path, out var existingGroup))
|
|
406
|
-
{
|
|
407
|
-
itemGroupsToUpdate.Add(existingGroup);
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
foreach (var group in res.currencies)
|
|
413
|
-
{
|
|
414
|
-
foreach (var node in localCurrencies.Traverse(group.id))
|
|
415
|
-
{
|
|
416
|
-
if (_scopeToCurrencyGroup.TryGetValue(node.path, out var existingGroup))
|
|
417
|
-
{
|
|
418
|
-
currGroupsToUpdate.Add(existingGroup);
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
// send a notification to all item groups that it should re-check its data against the trie
|
|
424
|
-
foreach (var group in itemGroupsToUpdate)
|
|
425
|
-
{
|
|
426
|
-
group.Notify();
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
// send a notification to all currency groups that it should re-check its data against the trie
|
|
430
|
-
foreach (var group in currGroupsToUpdate)
|
|
431
|
-
{
|
|
432
|
-
group.Notify();
|
|
433
|
-
}
|
|
434
|
-
#endregion
|
|
435
|
-
}
|
|
436
|
-
catch (Exception ex)
|
|
437
|
-
{
|
|
438
|
-
Debug.LogError(ex);
|
|
439
|
-
throw;
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
/// <summary>
|
|
445
|
-
/// When the player inventory is initialized, shortly afterwards, this function will be called
|
|
446
|
-
/// to re-load the previous state.
|
|
447
|
-
/// </summary>
|
|
448
|
-
public void OnAfterLoadState()
|
|
449
|
-
{
|
|
450
|
-
// now we need to try applying any old state we had
|
|
451
|
-
var _ = _consumer.RunAfterReconnection(new SdkEvent(nameof(PlayerInventory), "commit"));
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
/// <summary>
|
|
455
|
-
/// Get a player's currency data for a given type.
|
|
456
|
-
/// </summary>
|
|
457
|
-
/// <param name="currencyRef">A <see cref="CurrencyRef"/> for the type of currency to get. </param>
|
|
458
|
-
/// <returns>A <see cref="PlayerCurrency"/> object for the given currencyRef</returns>
|
|
459
|
-
public PlayerCurrency GetCurrency(CurrencyRef currencyRef)
|
|
460
|
-
{
|
|
461
|
-
var group = GetCurrencies(currencyRef);
|
|
462
|
-
if (group.Count == 0)
|
|
463
|
-
{
|
|
464
|
-
// need to create...
|
|
465
|
-
localCurrencies.Insert(currencyRef, new PlayerCurrency
|
|
466
|
-
{
|
|
467
|
-
CurrencyId = currencyRef.Id,
|
|
468
|
-
Properties = new SerializableDictionaryStringToString(),
|
|
469
|
-
Amount = 0, // TODO: if we had content, we could know the starting amount.
|
|
470
|
-
Content = null
|
|
471
|
-
});
|
|
472
|
-
group.Notify();
|
|
473
|
-
var _ = group.Refresh();
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
return group[0];
|
|
477
|
-
}
|
|
478
|
-
|
|
479
|
-
/// <inheritdoc cref="GetCurrency(Beamable.Common.Inventory.CurrencyRef)"/>
|
|
480
|
-
public PlayerCurrency GetCurrency(string currencyRef) => GetCurrency(new CurrencyRef(currencyRef));
|
|
481
|
-
|
|
482
|
-
/// <summary>
|
|
483
|
-
/// Get a category of <see cref="PlayerItem"/> for a given type.
|
|
484
|
-
/// If you have subtypes of <see cref="ItemContent"/>,
|
|
485
|
-
/// and you get an item group for a basetype of <see cref="ItemContent"/>,
|
|
486
|
-
/// the resultant <see cref="PlayerItemGroup"/> will have all instances from all subclasses of the given type.
|
|
487
|
-
/// </summary>
|
|
488
|
-
/// <param name="itemRef">An <see cref="ItemRef"/> for the type of item to get. </param>
|
|
489
|
-
/// <returns>a <see cref="PlayerItemGroup"/> object for the given itemRef</returns>
|
|
490
|
-
public PlayerItemGroup GetItems(ItemRef itemRef = null)
|
|
491
|
-
{
|
|
492
|
-
itemRef = itemRef ?? "items";
|
|
493
|
-
|
|
494
|
-
if (_scopeToItemGroup.TryGetValue(itemRef, out var group)) return group;
|
|
495
|
-
|
|
496
|
-
_requestCounter.Insert(itemRef, 1); // pay attention to what specific item groups have been subscribed to.
|
|
497
|
-
var itemGroup = new PlayerItemGroup(itemRef, this);
|
|
498
|
-
_scopeToItemGroup.Add(itemRef, itemGroup);
|
|
499
|
-
_saveHandle.Save();
|
|
500
|
-
return itemGroup;
|
|
501
|
-
}
|
|
502
|
-
|
|
503
|
-
/// <inheritdoc cref="GetItems(Beamable.Common.Inventory.ItemRef)"/>
|
|
504
|
-
public PlayerItemGroup GetItems(string itemRef) => GetItems(new ItemRef(itemRef));
|
|
505
|
-
|
|
506
|
-
/// <inheritdoc cref="GetItems(Beamable.Common.Inventory.ItemRef)"/>
|
|
507
|
-
/// This method will is similar to <see cref="GetItems(Beamable.Common.Inventory.ItemRef)"/>, however it will make sure that the
|
|
508
|
-
/// <see cref="PlayerItemGroup"/> has been refreshed before completing the resulting promise.
|
|
509
|
-
/// <returns> A <see cref="Promise"/> containing the updated <see cref="PlayerItemGroup"/></returns>
|
|
510
|
-
public async Promise<PlayerItemGroup> LoadItems(ItemRef itemRef = null)
|
|
511
|
-
{
|
|
512
|
-
var items = GetItems(itemRef);
|
|
513
|
-
await items.Refresh();
|
|
514
|
-
return items;
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
/// <inheritdoc cref="LoadItems(Beamable.Common.Inventory.ItemRef)"/>
|
|
518
|
-
public Promise<PlayerItemGroup> LoadItems(string itemRef) => LoadItems(new ItemRef(itemRef));
|
|
519
|
-
|
|
520
|
-
/// <summary>
|
|
521
|
-
/// Get a category of <see cref="PlayerCurrency"/> for a given type.
|
|
522
|
-
/// If you have subtypes of <see cref="CurrencyRef"/>,
|
|
523
|
-
/// and you get an item group for a basetype of <see cref="CurrencyRef"/>,
|
|
524
|
-
/// the resultant <see cref="PlayerCurrencyGroup"/> will have all instances from all subclasses of the given type.
|
|
525
|
-
/// </summary>
|
|
526
|
-
/// <param name="currencyRef">An <see cref="CurrencyRef"/> for the type of a currency to get. </param>
|
|
527
|
-
/// <returns>a <see cref="PlayerCurrencyGroup"/> object for the given currencyRef</returns>
|
|
528
|
-
public PlayerCurrencyGroup GetCurrencies(CurrencyRef currencyRef = null)
|
|
529
|
-
{
|
|
530
|
-
currencyRef = currencyRef ?? "currency";
|
|
531
|
-
if (_scopeToCurrencyGroup.TryGetValue(currencyRef, out var group)) return group;
|
|
532
|
-
_requestCounter.Insert(currencyRef, 1);
|
|
533
|
-
var currencyGroup = new PlayerCurrencyGroup(currencyRef, this);
|
|
534
|
-
currencyGroup.Notify();
|
|
535
|
-
var _ = currencyGroup.Refresh();
|
|
536
|
-
_scopeToCurrencyGroup.Add(currencyRef, currencyGroup);
|
|
537
|
-
_saveHandle?.Save();
|
|
538
|
-
return currencyGroup;
|
|
539
|
-
}
|
|
540
|
-
|
|
541
|
-
/// <inheritdoc cref="GetCurrencies(Beamable.Common.Inventory.CurrencyRef)"/>
|
|
542
|
-
public PlayerCurrencyGroup GetCurrencies(string currencyRef) => GetCurrencies(new CurrencyRef(currencyRef));
|
|
543
|
-
|
|
544
|
-
/// <inheritdoc cref="GetCurrencies(Beamable.Common.Inventory.CurrencyRef)"/>
|
|
545
|
-
/// This method will is similar to <see cref="GetCurrencies(Beamable.Common.Inventory.CurrencyRef)"/>, however it will make sure that the
|
|
546
|
-
/// <see cref="PlayerCurrencyGroup"/> has been refreshed before completing the resulting promise.
|
|
547
|
-
/// <returns> A <see cref="Promise"/> containing the updated <see cref="PlayerCurrencyGroup"/></returns>
|
|
548
|
-
public async Promise<PlayerCurrencyGroup> LoadCurrencies(CurrencyRef currencyRef = null)
|
|
549
|
-
{
|
|
550
|
-
var currencies = GetCurrencies(currencyRef);
|
|
551
|
-
await currencies.Refresh();
|
|
552
|
-
return currencies;
|
|
553
|
-
}
|
|
554
|
-
|
|
555
|
-
/// <inheritdoc cref="LoadCurrencies(Beamable.Common.Inventory.CurrencyRef)"/>
|
|
556
|
-
public Promise<PlayerCurrencyGroup> LoadCurrencies(string currencyRef) => LoadCurrencies(new CurrencyRef(currencyRef));
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
/// <summary>
|
|
560
|
-
/// <inheritdoc cref="Update(Beamable.Common.Api.Inventory.InventoryUpdateBuilder,string)"/>
|
|
561
|
-
/// </summary>
|
|
562
|
-
/// <param name="updateBuilder">An action that gives you a <see cref="InventoryUpdateBuilder"/> to configure with actions to apply to the player's inventory</param>
|
|
563
|
-
/// <param name="transaction">An optional transaction id for the operation. </param>
|
|
564
|
-
/// <returns>A promise representing the success of the operation.</returns>
|
|
565
|
-
public Promise Update(Action<InventoryUpdateBuilder> updateBuilder, string transaction = null)
|
|
566
|
-
{
|
|
567
|
-
var builder = new InventoryUpdateBuilder();
|
|
568
|
-
updateBuilder?.Invoke(builder);
|
|
569
|
-
|
|
570
|
-
// serialize the builder, and commit it the log state.
|
|
571
|
-
return Update(builder, transaction);
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
/// <summary>
|
|
575
|
-
/// Similar to <see cref="Update(System.Action{Beamable.Common.Api.Inventory.InventoryUpdateBuilder},string)"/>,
|
|
576
|
-
/// However, this method will not actually submit the Inventory update request until the given <see cref="delay"/> passes.
|
|
577
|
-
/// If multiple calls are made to this method, then the <see cref="updateBuilder"/>s will be merged together
|
|
578
|
-
/// and sent as one network call.
|
|
579
|
-
/// This method will minimize network traffic.
|
|
580
|
-
/// This method returns a <see cref="Promise"/> that completes when the network call is actually made. Therefor,
|
|
581
|
-
/// it is not a good idea to call this method several times and await each one, as that would essentially be the same
|
|
582
|
-
/// as calling <see cref="Update(System.Action{Beamable.Common.Api.Inventory.InventoryUpdateBuilder},string)"/>.
|
|
583
|
-
/// Instead, consider using the <see cref="WaitForDelayedUpdate"/> method to get a promise that completes when
|
|
584
|
-
/// the accumulated action completes.
|
|
585
|
-
/// </summary>
|
|
586
|
-
/// <param name="updateBuilder">
|
|
587
|
-
/// An action that delivers an <see cref="InventoryUpdateBuilder"/> instance that can be modified to schedule
|
|
588
|
-
/// inventory updates. When the method is invoked multiple times, the previous instance will be used.
|
|
589
|
-
/// </param>
|
|
590
|
-
/// <param name="delay">
|
|
591
|
-
/// By default, the inventory update will take a few moments before being sent to Beamable.
|
|
592
|
-
/// Anytime there is a pending request and a new invocation of the method occurs, the scheduled call
|
|
593
|
-
/// will be pushed out by this delay again.
|
|
594
|
-
/// </param>
|
|
595
|
-
/// <returns>A promise that returns when the inventory update call has actually be sent and confirmed.</returns>
|
|
596
|
-
public Promise UpdateDelayed(Action<InventoryUpdateBuilder> updateBuilder, CustomYieldInstruction delay = null)
|
|
597
|
-
{
|
|
598
|
-
updateBuilder?.Invoke(_delayedBuilder);
|
|
599
|
-
return _delayedUpdatePromise = _debouncer.SetTimeout(CommitDelayed, delay);
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
/// <summary>
|
|
603
|
-
/// A <see cref="Promise"/> that completes when calls to <see cref="UpdateDelayed"/> are completed.
|
|
604
|
-
/// </summary>
|
|
605
|
-
public async Promise WaitForDelayedUpdate()
|
|
606
|
-
{
|
|
607
|
-
if (_delayedUpdatePromise != null)
|
|
608
|
-
{
|
|
609
|
-
await _delayedUpdatePromise;
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
|
-
|
|
613
|
-
private Promise CommitDelayed()
|
|
614
|
-
{
|
|
615
|
-
var builder = new InventoryUpdateBuilder(_delayedBuilder);
|
|
616
|
-
_delayedBuilder = new InventoryUpdateBuilder();
|
|
617
|
-
return Update(builder);
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
/// <summary>
|
|
621
|
-
/// Make an atomic update to the player's inventory state.
|
|
622
|
-
/// If you are offline, then this function changes based on your <see cref="CoreConfiguration.InventoryOfflineMode"/> setting.
|
|
623
|
-
///
|
|
624
|
-
/// <para>
|
|
625
|
-
/// Configure the <see cref="InventoryUpdateBuilder"/> with the modifications you'd like to make to the player's inventory.
|
|
626
|
-
/// </para>
|
|
627
|
-
/// <para>
|
|
628
|
-
/// Note that by default, you cannot update currency or items, because they can only be set from Beamable Microservices, or
|
|
629
|
-
/// the Beamable Platform itself. However, you can mark individual <see cref="CurrencyContent"/> and <see cref="ItemContent"/>
|
|
630
|
-
/// objects as editable by setting their <see cref="CurrencyContent.clientPermission"/> writeSelf property.
|
|
631
|
-
/// </para>
|
|
632
|
-
/// </summary>
|
|
633
|
-
/// <param name="updateBuilder">A <see cref="InventoryUpdateBuilder"/> containing actions to apply to the player's inventory</param>
|
|
634
|
-
/// <param name="transaction">An optional transaction id for the operation. </param>
|
|
635
|
-
/// <returns>A promise representing the success of the operation.</returns>
|
|
636
|
-
public async Promise Update(InventoryUpdateBuilder updateBuilder, string transaction = null)
|
|
637
|
-
{
|
|
638
|
-
if (_pendingUpdate != null)
|
|
639
|
-
{
|
|
640
|
-
await _pendingUpdate;
|
|
641
|
-
}
|
|
642
|
-
var json = InventoryUpdateBuilderSerializer.ToNetworkJson(updateBuilder, transaction);
|
|
643
|
-
var nextUpdatePromise = _sdkEventService.Add(new SdkEvent(nameof(PlayerInventory), "update", json));
|
|
644
|
-
_pendingUpdate = nextUpdatePromise;
|
|
645
|
-
await nextUpdatePromise;
|
|
646
|
-
}
|
|
647
|
-
|
|
648
|
-
private async Promise Apply(InventoryUpdateBuilder builder)
|
|
649
|
-
{
|
|
650
|
-
// TODO apply vip bonus
|
|
651
|
-
if (builder.applyVipBonus == true)
|
|
652
|
-
{
|
|
653
|
-
throw new NotImplementedException("Cannot perform vipBonus in offline mode");
|
|
654
|
-
}
|
|
655
|
-
|
|
656
|
-
if (builder.newItems.Count > 0)
|
|
657
|
-
{
|
|
658
|
-
// get the fake item group.
|
|
659
|
-
foreach (var newItem in builder.newItems)
|
|
660
|
-
{
|
|
661
|
-
|
|
662
|
-
var content = await _contentService.GetContent<ItemContent>(new ItemRef(newItem.contentId));
|
|
663
|
-
if (!content.clientPermission.writeSelf)
|
|
664
|
-
throw new PlatformRequesterException(new PlatformError
|
|
665
|
-
{
|
|
666
|
-
status = 403,
|
|
667
|
-
service = "inventory",
|
|
668
|
-
error = "not authorized",
|
|
669
|
-
message = "in an offline mode, you tried to write to a protected inventory item. That can't be simulated."
|
|
670
|
-
}, null, "403 offline");
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
_nextOfflineItemId--;
|
|
674
|
-
var nextItemId = _nextOfflineItemId;
|
|
675
|
-
_itemIdToReqId[OfflineIdKey(newItem.contentId, nextItemId)] = newItem.requestId;
|
|
676
|
-
|
|
677
|
-
localItems.Insert(newItem.contentId, new PlayerItem
|
|
678
|
-
{
|
|
679
|
-
ContentId = newItem.contentId,
|
|
680
|
-
ItemId = nextItemId,
|
|
681
|
-
Properties = newItem.properties,
|
|
682
|
-
CreatedAt = 0,
|
|
683
|
-
FederatedId = new OptionalString() { HasValue = false },
|
|
684
|
-
UpdatedAt = 0,
|
|
685
|
-
Content = content
|
|
686
|
-
});
|
|
687
|
-
await Refresh(newItem.contentId);
|
|
688
|
-
}
|
|
689
|
-
}
|
|
690
|
-
|
|
691
|
-
if (builder.updateItems.Count > 0)
|
|
692
|
-
{
|
|
693
|
-
foreach (var updateItem in builder.updateItems)
|
|
694
|
-
{
|
|
695
|
-
var existingItems = localItems.GetAll(updateItem.contentId);
|
|
696
|
-
var existingItem = existingItems.FirstOrDefault(x => x.ItemId == updateItem.itemId);
|
|
697
|
-
if (existingItem == null)
|
|
698
|
-
throw new InvalidOperationException($"Cannot update non existent item while in offline mode. contentid=[{updateItem.contentId}] itemid=[{updateItem.itemId}]");
|
|
699
|
-
|
|
700
|
-
existingItem.Properties = updateItem.properties;
|
|
701
|
-
existingItem.UpdatedAt = 0; // TODO how to get server time in offline way?
|
|
702
|
-
|
|
703
|
-
await Refresh(updateItem.contentId);
|
|
704
|
-
}
|
|
705
|
-
}
|
|
706
|
-
|
|
707
|
-
if (builder.deleteItems.Count > 0)
|
|
708
|
-
{
|
|
709
|
-
foreach (var deleteItem in builder.updateItems)
|
|
710
|
-
{
|
|
711
|
-
// TODO: why do we need this? If we have the id, we can remove it, and its like it never entered the player's inventorym ,right?
|
|
712
|
-
if (deleteItem.itemId < 0)
|
|
713
|
-
throw new InvalidOperationException(
|
|
714
|
-
"Cannot delete an item that was created while in offline mode. This is because the id of the item isn't actually known, so the update");
|
|
715
|
-
}
|
|
716
|
-
foreach (var deleteItem in builder.deleteItems)
|
|
717
|
-
{
|
|
718
|
-
var existingItems = localItems.GetAll(deleteItem.contentId);
|
|
719
|
-
var existingItem = existingItems.FirstOrDefault(x => x.ItemId == deleteItem.itemId);
|
|
720
|
-
if (existingItem == null)
|
|
721
|
-
throw new InvalidOperationException($"Cannot delete non existent item while in offline mode. contentid=[{deleteItem.contentId}] itemid=[{deleteItem.itemId}]");
|
|
722
|
-
|
|
723
|
-
localItems.Remove(deleteItem.contentId, existingItem);
|
|
724
|
-
await Refresh(deleteItem.contentId);
|
|
725
|
-
}
|
|
726
|
-
}
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
if (builder.currencyProperties.Count > 0)
|
|
730
|
-
{
|
|
731
|
-
foreach (var currProps in builder.currencyProperties)
|
|
732
|
-
{
|
|
733
|
-
var curr = GetCurrency(currProps.Key);
|
|
734
|
-
foreach (var prop in currProps.Value.Properties)
|
|
735
|
-
{
|
|
736
|
-
curr.Properties[prop.name] = prop.value;
|
|
737
|
-
}
|
|
738
|
-
}
|
|
739
|
-
|
|
740
|
-
await Currencies.Refresh();
|
|
741
|
-
}
|
|
742
|
-
|
|
743
|
-
foreach (var kvp in builder.currencies)
|
|
744
|
-
{
|
|
745
|
-
Currencies.GetCurrency(kvp.Key).Amount += kvp.Value;
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
}
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
private string OfflineIdKey(string contentId, long itemId) => $"{contentId}-{itemId}"; // TODO: Maybe don't need content id?
|
|
752
|
-
|
|
753
|
-
private bool TryGetOfflineId(string contentId, long itemId, out string reqId)
|
|
754
|
-
{
|
|
755
|
-
return _itemIdToReqId.TryGetValue(OfflineIdKey(contentId, itemId), out reqId);
|
|
756
|
-
}
|
|
757
|
-
|
|
758
|
-
private void UpdateOfflineBuilder(InventoryUpdateBuilder builder)
|
|
759
|
-
{
|
|
760
|
-
if (builder.applyVipBonus.HasValue)
|
|
761
|
-
{
|
|
762
|
-
_offlineUpdate.applyVipBonus = builder.applyVipBonus;
|
|
763
|
-
}
|
|
764
|
-
|
|
765
|
-
foreach (var kvp in builder.currencyProperties)
|
|
766
|
-
{
|
|
767
|
-
_offlineUpdate.currencyProperties[kvp.Key] = kvp.Value;
|
|
768
|
-
}
|
|
769
|
-
|
|
770
|
-
foreach (var curr in builder.currencies)
|
|
771
|
-
{
|
|
772
|
-
_offlineUpdate.CurrencyChange(curr.Key, curr.Value);
|
|
773
|
-
}
|
|
774
|
-
|
|
775
|
-
_offlineUpdate.newItems.AddRange(builder.newItems);
|
|
776
|
-
_offlineUpdate.updateItems.AddRange(builder.updateItems);
|
|
777
|
-
_offlineUpdate.deleteItems.AddRange(builder.deleteItems);
|
|
778
|
-
|
|
779
|
-
// if we delete an item that we had only ever added offline, then we don't ever send it. So we remove it from the newItems
|
|
780
|
-
foreach (var delete in builder.deleteItems)
|
|
781
|
-
{
|
|
782
|
-
if (TryGetOfflineId(delete.contentId, delete.itemId, out var reqId))
|
|
783
|
-
{
|
|
784
|
-
var newItem = _offlineUpdate.newItems.FirstOrDefault(item => item.requestId == reqId);
|
|
785
|
-
var deleteItem = _offlineUpdate.deleteItems.FirstOrDefault(
|
|
786
|
-
item => item.contentId == delete.contentId && item.itemId == delete.itemId);
|
|
787
|
-
_offlineUpdate.newItems.Remove(newItem);
|
|
788
|
-
_offlineUpdate.deleteItems.Remove(deleteItem);
|
|
789
|
-
}
|
|
790
|
-
}
|
|
791
|
-
|
|
792
|
-
// if we update an item that we only ever added offline, then we don't send the update request, but instead modify the original start parameters...
|
|
793
|
-
foreach (var update in builder.updateItems)
|
|
794
|
-
{
|
|
795
|
-
if (TryGetOfflineId(update.contentId, update.itemId, out var reqId))
|
|
796
|
-
{
|
|
797
|
-
var newItem = _offlineUpdate.newItems.FirstOrDefault(item => item.requestId == reqId);
|
|
798
|
-
if (newItem == null)
|
|
799
|
-
throw new InvalidOperationException($"Cannot update item that doesnt exist in builder. {update.contentId}-{update.itemId}");
|
|
800
|
-
newItem.properties = update.properties;
|
|
801
|
-
var updateItem = _offlineUpdate.updateItems.FirstOrDefault(
|
|
802
|
-
item => item.contentId == update.contentId && item.itemId == update.itemId);
|
|
803
|
-
_offlineUpdate.updateItems.Remove(updateItem);
|
|
804
|
-
}
|
|
805
|
-
}
|
|
806
|
-
}
|
|
807
|
-
|
|
808
|
-
private async Promise HandleUpdate(SdkEvent evt)
|
|
809
|
-
{
|
|
810
|
-
var json = evt.Args[0];
|
|
811
|
-
var data = InventoryUpdateBuilderSerializer.FromNetworkJson(json);
|
|
812
|
-
var builder = data.Item1;
|
|
813
|
-
var relevantScopes = builder.BuildScopes();
|
|
814
|
-
var transaction = data.Item2;
|
|
815
|
-
try
|
|
816
|
-
{
|
|
817
|
-
await _inventoryApi.Update(builder, transaction);
|
|
818
|
-
}
|
|
819
|
-
catch (NoConnectivityException)
|
|
820
|
-
{
|
|
821
|
-
if (_config.InventoryOfflineMode == CoreConfiguration.OfflineStrategy.Disable)
|
|
822
|
-
{
|
|
823
|
-
throw;
|
|
824
|
-
}
|
|
825
|
-
|
|
826
|
-
UpdateOfflineBuilder(builder);
|
|
827
|
-
var _ = _consumer.RunAfterReconnection(new SdkEvent(nameof(PlayerInventory), "commit", json));
|
|
828
|
-
await Apply(builder);
|
|
829
|
-
return;
|
|
830
|
-
}
|
|
831
|
-
|
|
832
|
-
try
|
|
833
|
-
{
|
|
834
|
-
foreach (var itemGroup in _scopeToItemGroup.Values)
|
|
835
|
-
{
|
|
836
|
-
// only bother updating the group if its in the builder.
|
|
837
|
-
if (relevantScopes.Any(itemGroup.IsScopePartOfGroup))
|
|
838
|
-
{
|
|
839
|
-
await itemGroup.Refresh();
|
|
840
|
-
}
|
|
841
|
-
}
|
|
842
|
-
await Currencies.Refresh();
|
|
843
|
-
}
|
|
844
|
-
catch (NoConnectivityException)
|
|
845
|
-
{
|
|
846
|
-
// oh well.
|
|
847
|
-
}
|
|
848
|
-
}
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
private async Promise HandleEvent(SdkEvent evt)
|
|
852
|
-
{
|
|
853
|
-
switch (evt.Event)
|
|
854
|
-
{
|
|
855
|
-
case "update":
|
|
856
|
-
await HandleUpdate(evt);
|
|
857
|
-
break;
|
|
858
|
-
|
|
859
|
-
case "commit": // TODO: turn into const strings.
|
|
860
|
-
if (_offlineUpdate.IsEmpty)
|
|
861
|
-
{
|
|
862
|
-
break;
|
|
863
|
-
}
|
|
864
|
-
var nextBuilder = _offlineUpdate;
|
|
865
|
-
_offlineUpdate = new InventoryUpdateBuilder();
|
|
866
|
-
await Update(nextBuilder); // TODO: this might fail, and we'd lose accrued data.
|
|
867
|
-
_itemIdToReqId.Clear();
|
|
868
|
-
break;
|
|
869
|
-
}
|
|
870
|
-
_saveHandle.Save();
|
|
871
|
-
}
|
|
872
|
-
|
|
873
|
-
/// <summary>
|
|
874
|
-
/// Refreshes all <see cref="PlayerItemGroup"/>s that have been established using <see cref="GetItems"/>,
|
|
875
|
-
/// and refreshes currencies <see cref="Currencies"/>.
|
|
876
|
-
///
|
|
877
|
-
/// In order to refresh a specific set of scopes, use the <see cref="Refresh(string[])"/> method.
|
|
878
|
-
/// </summary>
|
|
879
|
-
public async Promise Refresh()
|
|
880
|
-
{
|
|
881
|
-
var scopes = _requestCounter.GetNonEmptyKeys(_requestCounter.GetKeys()).ToArray();
|
|
882
|
-
await Refresh(scopes);
|
|
883
|
-
_saveHandle.Save();
|
|
884
|
-
}
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
public void OnBeforeSaveState()
|
|
888
|
-
{
|
|
889
|
-
|
|
890
|
-
}
|
|
891
|
-
|
|
892
|
-
}
|
|
893
|
-
}
|
|
1
|
+
using Beamable.Api;
|
|
2
|
+
using Beamable.Api.Autogenerated.Models;
|
|
3
|
+
using Beamable.Api.Caches;
|
|
4
|
+
using Beamable.Api.Connectivity;
|
|
5
|
+
using Beamable.Api.Inventory;
|
|
6
|
+
using Beamable.Common;
|
|
7
|
+
using Beamable.Common.Api;
|
|
8
|
+
using Beamable.Common.Api.Content;
|
|
9
|
+
using Beamable.Common.Api.Inventory;
|
|
10
|
+
using Beamable.Common.Api.Notifications;
|
|
11
|
+
using Beamable.Common.Content;
|
|
12
|
+
using Beamable.Common.Dependencies;
|
|
13
|
+
using Beamable.Common.Inventory;
|
|
14
|
+
using Beamable.Coroutines;
|
|
15
|
+
using System;
|
|
16
|
+
using System.Collections.Generic;
|
|
17
|
+
using System.Linq;
|
|
18
|
+
using UnityEngine;
|
|
19
|
+
using CurrencyProperty = Beamable.Api.Autogenerated.Models.CurrencyProperty;
|
|
20
|
+
using IInventoryApi = Beamable.Api.Autogenerated.Inventory.IInventoryApi;
|
|
21
|
+
using InventoryView = Beamable.Api.Autogenerated.Models.InventoryView;
|
|
22
|
+
using ItemGroup = Beamable.Api.Autogenerated.Models.ItemGroup;
|
|
23
|
+
|
|
24
|
+
namespace Beamable.Player
|
|
25
|
+
{
|
|
26
|
+
[Serializable]
|
|
27
|
+
public class SerializedDictionaryStringToPlayerItemGroup : SerializableDictionaryStringToSomething<PlayerItemGroup>
|
|
28
|
+
{
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
[Serializable]
|
|
33
|
+
public class SerializedDictionaryStringToPlayerCurrencyGroup : SerializableDictionaryStringToSomething<PlayerCurrencyGroup>
|
|
34
|
+
{
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
[Serializable]
|
|
38
|
+
public class PlayerItemTrieEntry : TrieSerializationEntry<PlayerItem> { }
|
|
39
|
+
|
|
40
|
+
[Serializable]
|
|
41
|
+
public class PlayerCurrencyTrieEntry : TrieSerializationEntry<PlayerCurrency> { }
|
|
42
|
+
|
|
43
|
+
[Serializable]
|
|
44
|
+
public class PlayerItemTrie : Trie<PlayerItem, PlayerItemTrieEntry>
|
|
45
|
+
{
|
|
46
|
+
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
[Serializable]
|
|
50
|
+
public class PlayerCurrencyTrie : Trie<PlayerCurrency, PlayerCurrencyTrieEntry>
|
|
51
|
+
{
|
|
52
|
+
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/// <summary>
|
|
56
|
+
/// <para>
|
|
57
|
+
/// The player's inventory can have <see cref="Currencies"/>, and items, which can be accessed via <see cref="GetItems"/>
|
|
58
|
+
/// </para>
|
|
59
|
+
/// </summary>
|
|
60
|
+
[Serializable]
|
|
61
|
+
public class PlayerInventory : IStorageHandler<PlayerInventory>, IServiceStorable
|
|
62
|
+
{
|
|
63
|
+
private readonly InventoryService _inventoryApi;
|
|
64
|
+
private readonly IInventoryApi _openApi;
|
|
65
|
+
private readonly IUserContext _userContext;
|
|
66
|
+
private readonly Debouncer _debouncer;
|
|
67
|
+
private readonly INotificationService _notificationService;
|
|
68
|
+
private readonly CoreConfiguration _config;
|
|
69
|
+
private readonly IContentApi _contentService;
|
|
70
|
+
private readonly ISdkEventService _sdkEventService;
|
|
71
|
+
private readonly SdkEventConsumer _consumer;
|
|
72
|
+
private HashSet<string> nextScopes = new HashSet<string>();
|
|
73
|
+
|
|
74
|
+
public PlayerCurrencyGroup Currencies { get; }
|
|
75
|
+
|
|
76
|
+
/// <summary>
|
|
77
|
+
/// The local items represent the current items that the SDK has subscribed to.
|
|
78
|
+
/// This structure is not observable. Consider using the <see cref="GetItems"/> function to get an observable, serializable <see cref="PlayerItemGroup"/>.
|
|
79
|
+
/// Modifications to this structure will not update the player's inventory.
|
|
80
|
+
/// To update the items, use the <see cref="Update(System.Action{Beamable.Common.Api.Inventory.InventoryUpdateBuilder},string)"/> method.
|
|
81
|
+
/// </summary>
|
|
82
|
+
public PlayerItemTrie LocalItems => localItems;
|
|
83
|
+
|
|
84
|
+
/// <summary>
|
|
85
|
+
/// The local currencies represent the current currencies that the SDK has subscribed to.
|
|
86
|
+
/// This structure is not observable. Consider using the <see cref="GetCurrencies"/> function to get an observable, serializable <see cref="PlayerCurrencyGroup"/>.
|
|
87
|
+
/// Modifications to this structure will not update the player's inventory.
|
|
88
|
+
/// To update the currencies, use the <see cref="Update(System.Action{Beamable.Common.Api.Inventory.InventoryUpdateBuilder},string)"/> method.
|
|
89
|
+
/// </summary>
|
|
90
|
+
public PlayerCurrencyTrie LocalCurrencies => localCurrencies;
|
|
91
|
+
|
|
92
|
+
[SerializeField]
|
|
93
|
+
private PlayerItemTrie localItems;
|
|
94
|
+
|
|
95
|
+
[SerializeField]
|
|
96
|
+
private PlayerCurrencyTrie localCurrencies;
|
|
97
|
+
|
|
98
|
+
private IntTrie _requestCounter = new IntTrie();
|
|
99
|
+
|
|
100
|
+
private SerializedDictionaryStringToPlayerItemGroup _scopeToItemGroup = new SerializedDictionaryStringToPlayerItemGroup();
|
|
101
|
+
private SerializedDictionaryStringToPlayerCurrencyGroup _scopeToCurrencyGroup = new SerializedDictionaryStringToPlayerCurrencyGroup();
|
|
102
|
+
private InventoryUpdateBuilder _delayedBuilder = new InventoryUpdateBuilder();
|
|
103
|
+
private Promise _delayedUpdatePromise;
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
[SerializeField]
|
|
107
|
+
private SerializableDictionaryStringToString _itemIdToReqId = new SerializableDictionaryStringToString();
|
|
108
|
+
[SerializeField]
|
|
109
|
+
private long _nextOfflineItemId;
|
|
110
|
+
[SerializeField]
|
|
111
|
+
private InventoryUpdateBuilder _offlineUpdate = new InventoryUpdateBuilder();
|
|
112
|
+
|
|
113
|
+
private StorageHandle<PlayerInventory> _saveHandle;
|
|
114
|
+
private Promise _pendingUpdate;
|
|
115
|
+
|
|
116
|
+
public PlayerInventory()
|
|
117
|
+
{
|
|
118
|
+
localCurrencies = new PlayerCurrencyTrie();
|
|
119
|
+
localItems = new PlayerItemTrie();
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
public PlayerInventory(
|
|
123
|
+
IPlatformService platformService,
|
|
124
|
+
INotificationService notificationService,
|
|
125
|
+
IDependencyProvider provider,
|
|
126
|
+
CoreConfiguration config,
|
|
127
|
+
IContentApi contentService,
|
|
128
|
+
ISdkEventService sdkEventService,
|
|
129
|
+
IInventoryApi openApi,
|
|
130
|
+
IUserContext userContext,
|
|
131
|
+
Debouncer debouncer)
|
|
132
|
+
{
|
|
133
|
+
_openApi = openApi;
|
|
134
|
+
_userContext = userContext;
|
|
135
|
+
_debouncer = debouncer;
|
|
136
|
+
_inventoryApi = provider.GetService<CachelessInventoryService>();
|
|
137
|
+
_notificationService = notificationService;
|
|
138
|
+
_config = config;
|
|
139
|
+
_contentService = contentService;
|
|
140
|
+
_sdkEventService = sdkEventService;
|
|
141
|
+
|
|
142
|
+
localCurrencies = new PlayerCurrencyTrie();
|
|
143
|
+
localItems = new PlayerItemTrie();
|
|
144
|
+
|
|
145
|
+
Currencies = GetCurrencies();
|
|
146
|
+
_notificationService.Subscribe<InventoryScopeNotification>("inventory.refresh", OnInventoryUpdated);
|
|
147
|
+
provider.GetService<BeamContext>().OnUserLoggingOut += (_) =>
|
|
148
|
+
{
|
|
149
|
+
// before the context actually changes, save the old data.
|
|
150
|
+
_saveHandle?.Save();
|
|
151
|
+
};
|
|
152
|
+
platformService.OnReloadUser += () =>
|
|
153
|
+
{
|
|
154
|
+
// Now that the user has changed, load and apply the latest data...
|
|
155
|
+
_saveHandle?.Load();
|
|
156
|
+
var _ = Refresh();
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
_consumer = _sdkEventService.Register(nameof(PlayerInventory), HandleEvent);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
public void ReceiveStorageHandle(StorageHandle<PlayerInventory> handle)
|
|
163
|
+
{
|
|
164
|
+
_saveHandle = handle;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
[Serializable]
|
|
168
|
+
public class InventoryScopeNotification
|
|
169
|
+
{
|
|
170
|
+
public string[] scopes;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
private class InventoryViewResult
|
|
174
|
+
{
|
|
175
|
+
public InventoryView view;
|
|
176
|
+
public bool isOffline;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/// <summary>
|
|
180
|
+
/// Refresh the current items and currencies based on the given <see cref="scopes"/>.
|
|
181
|
+
/// If no calls to <see cref="GetItems"/> or <see cref="GetCurrencies"/> have been made,
|
|
182
|
+
/// then no scopes have been subscribed and therefor, no scopes will actually be updated.
|
|
183
|
+
/// </summary>
|
|
184
|
+
/// <param name="scopes"></param>
|
|
185
|
+
public async Promise Refresh(params string[] scopes)
|
|
186
|
+
{
|
|
187
|
+
foreach (var scope in scopes)
|
|
188
|
+
{
|
|
189
|
+
nextScopes.Add(scope);
|
|
190
|
+
}
|
|
191
|
+
await _debouncer.SetTimeout(GetLatestInventory);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
private void OnInventoryUpdated(InventoryScopeNotification update)
|
|
195
|
+
{
|
|
196
|
+
var _ = Refresh(update.scopes);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
private async Promise<InventoryViewResult> DownloadInventoryData(string[] scopes)
|
|
200
|
+
{
|
|
201
|
+
var result = new InventoryViewResult();
|
|
202
|
+
var req = new InventoryQueryRequest();
|
|
203
|
+
req.scopes.Set(scopes);
|
|
204
|
+
|
|
205
|
+
try
|
|
206
|
+
{
|
|
207
|
+
result.view = await _openApi.ObjectPost(_userContext.UserId, req);
|
|
208
|
+
}
|
|
209
|
+
catch (NoConnectivityException)
|
|
210
|
+
{
|
|
211
|
+
result.isOffline = true;
|
|
212
|
+
}
|
|
213
|
+
return result;
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
private async Promise GetLatestInventory()
|
|
219
|
+
{
|
|
220
|
+
try
|
|
221
|
+
{
|
|
222
|
+
var scopes = nextScopes.ToArray();
|
|
223
|
+
nextScopes.Clear();
|
|
224
|
+
|
|
225
|
+
// we only want to get scopes that are relevant to the currently requested data, or the current data in memory
|
|
226
|
+
var filteredItems = localItems.GetRelevantKeys(scopes).ToArray();
|
|
227
|
+
var filteredCurrencies = localCurrencies.GetRelevantKeys(scopes).ToArray();
|
|
228
|
+
var filteredRequests = _requestCounter.GetRelevantKeys(scopes).ToArray();
|
|
229
|
+
var joined = filteredItems.Union(filteredCurrencies).Union(filteredRequests).Distinct().ToArray();
|
|
230
|
+
|
|
231
|
+
var filteredScopes = joined;
|
|
232
|
+
if (filteredScopes.Length == 0) return; // if there are no scopes, there is nothing to download. But actually, the API treats an empty scope as "everything", which is extra bad for us.
|
|
233
|
+
if (_userContext.UserId == 0)
|
|
234
|
+
{
|
|
235
|
+
throw new Exception($"Call to {nameof(PlayerInventory)} with empty UserID- BeamContext is not ready yet, search OnReady for more information.");
|
|
236
|
+
}
|
|
237
|
+
var result = await DownloadInventoryData(filteredScopes);
|
|
238
|
+
|
|
239
|
+
if (result.isOffline)
|
|
240
|
+
{
|
|
241
|
+
// if we are offline, then the trie already has the data, and there is nothing to do.
|
|
242
|
+
foreach (var kvp in _scopeToItemGroup)
|
|
243
|
+
{
|
|
244
|
+
kvp.Value.Notify();
|
|
245
|
+
}
|
|
246
|
+
foreach (var kvp in _scopeToCurrencyGroup)
|
|
247
|
+
{
|
|
248
|
+
kvp.Value.Notify();
|
|
249
|
+
}
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
var unseenScopes = new HashSet<string>(scopes);
|
|
254
|
+
|
|
255
|
+
var itemGroupsToUpdate = new HashSet<PlayerItemGroup>();
|
|
256
|
+
var currGroupsToUpdate = new HashSet<PlayerCurrencyGroup>();
|
|
257
|
+
var res = result.view;
|
|
258
|
+
|
|
259
|
+
#region update or create items
|
|
260
|
+
foreach (var group in res.items)
|
|
261
|
+
{
|
|
262
|
+
unseenScopes.Remove(group.id);
|
|
263
|
+
|
|
264
|
+
var plrItems = new PlayerItem[group.items.Length];
|
|
265
|
+
var contentRef = new ItemRef(group.id);
|
|
266
|
+
var content = await contentRef.Resolve().Recover(_ => null); ;
|
|
267
|
+
var seen = new HashSet<PlayerItem>();
|
|
268
|
+
|
|
269
|
+
// create a lookup table from item-id to existing PlayerItem. We don't want to re-create instances if they already exist by id.
|
|
270
|
+
var existingItems = localItems.GetExact(group.id);
|
|
271
|
+
var idToExistingItem = new Dictionary<int, PlayerItem>();
|
|
272
|
+
foreach (var item in existingItems)
|
|
273
|
+
{
|
|
274
|
+
idToExistingItem[item.UniqueCode] = item;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
// iterate through all the latest items in this group.
|
|
278
|
+
for (var i = 0; i < group.items.Length; i++)
|
|
279
|
+
{
|
|
280
|
+
var itemId = group.items[i].id;
|
|
281
|
+
var code = ((itemId.GetHashCode() << 5) + itemId.GetHashCode()) ^ group.id.GetHashCode();
|
|
282
|
+
|
|
283
|
+
if (idToExistingItem.TryGetValue(code, out var existingItem))
|
|
284
|
+
{
|
|
285
|
+
// this item already exists, so we need to update the existing instance in place, and then trigger an update.
|
|
286
|
+
seen.Add(existingItem);
|
|
287
|
+
plrItems[i] = existingItem;
|
|
288
|
+
existingItem.Content = content;
|
|
289
|
+
existingItem.CreatedAt = group.items[i].createdAt.GetOrElse(0);
|
|
290
|
+
existingItem.FederatedId = group.items[i].proxyId;
|
|
291
|
+
existingItem.UpdatedAt = group.items[i].updatedAt.GetOrElse(0);
|
|
292
|
+
existingItem.Properties.Clear();
|
|
293
|
+
foreach (var property in group.items[i].properties)
|
|
294
|
+
{
|
|
295
|
+
existingItem.Properties[property.name] = property.value;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
existingItem.TriggerUpdate();
|
|
299
|
+
}
|
|
300
|
+
else // when the new item isn't represented locally yet, we need to allocate a new PlayerItem
|
|
301
|
+
{
|
|
302
|
+
var newItem = plrItems[i] = new PlayerItem
|
|
303
|
+
{
|
|
304
|
+
Content = content,
|
|
305
|
+
ItemId = itemId,
|
|
306
|
+
ContentId = group.id,
|
|
307
|
+
FederatedId = group.items[i].proxyId,
|
|
308
|
+
CreatedAt = group.items[i].createdAt.GetOrElse(0),
|
|
309
|
+
UpdatedAt = group.items[i].updatedAt.GetOrElse(0),
|
|
310
|
+
UniqueCode = code
|
|
311
|
+
};
|
|
312
|
+
foreach (var property in group.items[i].properties)
|
|
313
|
+
{
|
|
314
|
+
newItem.Properties[property.name] = property.value;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
newItem.TriggerUpdate();
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// any item that wasn't seen in the latest server set needs to be removed.
|
|
323
|
+
var unseen = existingItems.Except(seen);
|
|
324
|
+
foreach (var item in unseen)
|
|
325
|
+
{
|
|
326
|
+
item.TriggerDeletion();
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
// commit the data to the local "database", trie.
|
|
330
|
+
localItems.SetRange(group.id, plrItems);
|
|
331
|
+
}
|
|
332
|
+
#endregion
|
|
333
|
+
|
|
334
|
+
#region handle the deletion of entire item groups
|
|
335
|
+
foreach (var deletedScope in unseenScopes)
|
|
336
|
+
{
|
|
337
|
+
var removed = localItems.GetExact(deletedScope);
|
|
338
|
+
foreach (var removedItem in removed)
|
|
339
|
+
{
|
|
340
|
+
removedItem.TriggerDeletion();
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
localItems.ClearExact(deletedScope);
|
|
344
|
+
foreach (var node in localItems.Traverse(deletedScope))
|
|
345
|
+
{
|
|
346
|
+
if (_scopeToItemGroup.TryGetValue(node.path, out var existingGroup))
|
|
347
|
+
{
|
|
348
|
+
itemGroupsToUpdate.Add(existingGroup);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
#endregion
|
|
353
|
+
|
|
354
|
+
#region update or create currencies
|
|
355
|
+
|
|
356
|
+
// create a lookup table of existing currencies
|
|
357
|
+
var existingCurrs = localCurrencies.GetAll("currency");
|
|
358
|
+
var idToExistingCurr = new Dictionary<string, PlayerCurrency>();
|
|
359
|
+
foreach (var item in existingCurrs)
|
|
360
|
+
{
|
|
361
|
+
idToExistingCurr[item.CurrencyId] = item;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
foreach (var currency in res.currencies)
|
|
365
|
+
{
|
|
366
|
+
var currRef = new CurrencyRef(currency.id);
|
|
367
|
+
var content = await currRef.Resolve().Recover(_ => null);
|
|
368
|
+
if (idToExistingCurr.TryGetValue(currency.id, out var existing))
|
|
369
|
+
{
|
|
370
|
+
// the server currency already exited locally, so we can update it in place
|
|
371
|
+
existing.Content = content;
|
|
372
|
+
existing.Properties.Clear();
|
|
373
|
+
foreach (var property in currency.properties)
|
|
374
|
+
{
|
|
375
|
+
existing.Properties[property.name] = property.value;
|
|
376
|
+
}
|
|
377
|
+
existing.Amount = currency.amount;
|
|
378
|
+
}
|
|
379
|
+
else // when the currency isn't represented locally yet, we need to allocate one
|
|
380
|
+
{
|
|
381
|
+
existing = new PlayerCurrency
|
|
382
|
+
{
|
|
383
|
+
Content = content,
|
|
384
|
+
Amount = currency.amount,
|
|
385
|
+
CurrencyId = currency.id,
|
|
386
|
+
};
|
|
387
|
+
foreach (var property in currency.properties)
|
|
388
|
+
{
|
|
389
|
+
existing.Properties[property.name] = property.value;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
idToExistingCurr[currency.id] = existing;
|
|
393
|
+
localCurrencies.Insert(currency.id, existing);
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
}
|
|
397
|
+
#endregion
|
|
398
|
+
|
|
399
|
+
#region handle group updates
|
|
400
|
+
// now that the trie has been updated, notify all itemGroups that their data needs to update
|
|
401
|
+
foreach (var group in res.items)
|
|
402
|
+
{
|
|
403
|
+
foreach (var node in localItems.Traverse(group.id))
|
|
404
|
+
{
|
|
405
|
+
if (_scopeToItemGroup.TryGetValue(node.path, out var existingGroup))
|
|
406
|
+
{
|
|
407
|
+
itemGroupsToUpdate.Add(existingGroup);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
foreach (var group in res.currencies)
|
|
413
|
+
{
|
|
414
|
+
foreach (var node in localCurrencies.Traverse(group.id))
|
|
415
|
+
{
|
|
416
|
+
if (_scopeToCurrencyGroup.TryGetValue(node.path, out var existingGroup))
|
|
417
|
+
{
|
|
418
|
+
currGroupsToUpdate.Add(existingGroup);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
// send a notification to all item groups that it should re-check its data against the trie
|
|
424
|
+
foreach (var group in itemGroupsToUpdate)
|
|
425
|
+
{
|
|
426
|
+
group.Notify();
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
// send a notification to all currency groups that it should re-check its data against the trie
|
|
430
|
+
foreach (var group in currGroupsToUpdate)
|
|
431
|
+
{
|
|
432
|
+
group.Notify();
|
|
433
|
+
}
|
|
434
|
+
#endregion
|
|
435
|
+
}
|
|
436
|
+
catch (Exception ex)
|
|
437
|
+
{
|
|
438
|
+
Debug.LogError(ex);
|
|
439
|
+
throw;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
/// <summary>
|
|
445
|
+
/// When the player inventory is initialized, shortly afterwards, this function will be called
|
|
446
|
+
/// to re-load the previous state.
|
|
447
|
+
/// </summary>
|
|
448
|
+
public void OnAfterLoadState()
|
|
449
|
+
{
|
|
450
|
+
// now we need to try applying any old state we had
|
|
451
|
+
var _ = _consumer.RunAfterReconnection(new SdkEvent(nameof(PlayerInventory), "commit"));
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
/// <summary>
|
|
455
|
+
/// Get a player's currency data for a given type.
|
|
456
|
+
/// </summary>
|
|
457
|
+
/// <param name="currencyRef">A <see cref="CurrencyRef"/> for the type of currency to get. </param>
|
|
458
|
+
/// <returns>A <see cref="PlayerCurrency"/> object for the given currencyRef</returns>
|
|
459
|
+
public PlayerCurrency GetCurrency(CurrencyRef currencyRef)
|
|
460
|
+
{
|
|
461
|
+
var group = GetCurrencies(currencyRef);
|
|
462
|
+
if (group.Count == 0)
|
|
463
|
+
{
|
|
464
|
+
// need to create...
|
|
465
|
+
localCurrencies.Insert(currencyRef, new PlayerCurrency
|
|
466
|
+
{
|
|
467
|
+
CurrencyId = currencyRef.Id,
|
|
468
|
+
Properties = new SerializableDictionaryStringToString(),
|
|
469
|
+
Amount = 0, // TODO: if we had content, we could know the starting amount.
|
|
470
|
+
Content = null
|
|
471
|
+
});
|
|
472
|
+
group.Notify();
|
|
473
|
+
var _ = group.Refresh();
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
return group[0];
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
/// <inheritdoc cref="GetCurrency(Beamable.Common.Inventory.CurrencyRef)"/>
|
|
480
|
+
public PlayerCurrency GetCurrency(string currencyRef) => GetCurrency(new CurrencyRef(currencyRef));
|
|
481
|
+
|
|
482
|
+
/// <summary>
|
|
483
|
+
/// Get a category of <see cref="PlayerItem"/> for a given type.
|
|
484
|
+
/// If you have subtypes of <see cref="ItemContent"/>,
|
|
485
|
+
/// and you get an item group for a basetype of <see cref="ItemContent"/>,
|
|
486
|
+
/// the resultant <see cref="PlayerItemGroup"/> will have all instances from all subclasses of the given type.
|
|
487
|
+
/// </summary>
|
|
488
|
+
/// <param name="itemRef">An <see cref="ItemRef"/> for the type of item to get. </param>
|
|
489
|
+
/// <returns>a <see cref="PlayerItemGroup"/> object for the given itemRef</returns>
|
|
490
|
+
public PlayerItemGroup GetItems(ItemRef itemRef = null)
|
|
491
|
+
{
|
|
492
|
+
itemRef = itemRef ?? "items";
|
|
493
|
+
|
|
494
|
+
if (_scopeToItemGroup.TryGetValue(itemRef, out var group)) return group;
|
|
495
|
+
|
|
496
|
+
_requestCounter.Insert(itemRef, 1); // pay attention to what specific item groups have been subscribed to.
|
|
497
|
+
var itemGroup = new PlayerItemGroup(itemRef, this);
|
|
498
|
+
_scopeToItemGroup.Add(itemRef, itemGroup);
|
|
499
|
+
_saveHandle.Save();
|
|
500
|
+
return itemGroup;
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
/// <inheritdoc cref="GetItems(Beamable.Common.Inventory.ItemRef)"/>
|
|
504
|
+
public PlayerItemGroup GetItems(string itemRef) => GetItems(new ItemRef(itemRef));
|
|
505
|
+
|
|
506
|
+
/// <inheritdoc cref="GetItems(Beamable.Common.Inventory.ItemRef)"/>
|
|
507
|
+
/// This method will is similar to <see cref="GetItems(Beamable.Common.Inventory.ItemRef)"/>, however it will make sure that the
|
|
508
|
+
/// <see cref="PlayerItemGroup"/> has been refreshed before completing the resulting promise.
|
|
509
|
+
/// <returns> A <see cref="Promise"/> containing the updated <see cref="PlayerItemGroup"/></returns>
|
|
510
|
+
public async Promise<PlayerItemGroup> LoadItems(ItemRef itemRef = null)
|
|
511
|
+
{
|
|
512
|
+
var items = GetItems(itemRef);
|
|
513
|
+
await items.Refresh();
|
|
514
|
+
return items;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
/// <inheritdoc cref="LoadItems(Beamable.Common.Inventory.ItemRef)"/>
|
|
518
|
+
public Promise<PlayerItemGroup> LoadItems(string itemRef) => LoadItems(new ItemRef(itemRef));
|
|
519
|
+
|
|
520
|
+
/// <summary>
|
|
521
|
+
/// Get a category of <see cref="PlayerCurrency"/> for a given type.
|
|
522
|
+
/// If you have subtypes of <see cref="CurrencyRef"/>,
|
|
523
|
+
/// and you get an item group for a basetype of <see cref="CurrencyRef"/>,
|
|
524
|
+
/// the resultant <see cref="PlayerCurrencyGroup"/> will have all instances from all subclasses of the given type.
|
|
525
|
+
/// </summary>
|
|
526
|
+
/// <param name="currencyRef">An <see cref="CurrencyRef"/> for the type of a currency to get. </param>
|
|
527
|
+
/// <returns>a <see cref="PlayerCurrencyGroup"/> object for the given currencyRef</returns>
|
|
528
|
+
public PlayerCurrencyGroup GetCurrencies(CurrencyRef currencyRef = null)
|
|
529
|
+
{
|
|
530
|
+
currencyRef = currencyRef ?? "currency";
|
|
531
|
+
if (_scopeToCurrencyGroup.TryGetValue(currencyRef, out var group)) return group;
|
|
532
|
+
_requestCounter.Insert(currencyRef, 1);
|
|
533
|
+
var currencyGroup = new PlayerCurrencyGroup(currencyRef, this);
|
|
534
|
+
currencyGroup.Notify();
|
|
535
|
+
var _ = currencyGroup.Refresh();
|
|
536
|
+
_scopeToCurrencyGroup.Add(currencyRef, currencyGroup);
|
|
537
|
+
_saveHandle?.Save();
|
|
538
|
+
return currencyGroup;
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
/// <inheritdoc cref="GetCurrencies(Beamable.Common.Inventory.CurrencyRef)"/>
|
|
542
|
+
public PlayerCurrencyGroup GetCurrencies(string currencyRef) => GetCurrencies(new CurrencyRef(currencyRef));
|
|
543
|
+
|
|
544
|
+
/// <inheritdoc cref="GetCurrencies(Beamable.Common.Inventory.CurrencyRef)"/>
|
|
545
|
+
/// This method will is similar to <see cref="GetCurrencies(Beamable.Common.Inventory.CurrencyRef)"/>, however it will make sure that the
|
|
546
|
+
/// <see cref="PlayerCurrencyGroup"/> has been refreshed before completing the resulting promise.
|
|
547
|
+
/// <returns> A <see cref="Promise"/> containing the updated <see cref="PlayerCurrencyGroup"/></returns>
|
|
548
|
+
public async Promise<PlayerCurrencyGroup> LoadCurrencies(CurrencyRef currencyRef = null)
|
|
549
|
+
{
|
|
550
|
+
var currencies = GetCurrencies(currencyRef);
|
|
551
|
+
await currencies.Refresh();
|
|
552
|
+
return currencies;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
/// <inheritdoc cref="LoadCurrencies(Beamable.Common.Inventory.CurrencyRef)"/>
|
|
556
|
+
public Promise<PlayerCurrencyGroup> LoadCurrencies(string currencyRef) => LoadCurrencies(new CurrencyRef(currencyRef));
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
/// <summary>
|
|
560
|
+
/// <inheritdoc cref="Update(Beamable.Common.Api.Inventory.InventoryUpdateBuilder,string)"/>
|
|
561
|
+
/// </summary>
|
|
562
|
+
/// <param name="updateBuilder">An action that gives you a <see cref="InventoryUpdateBuilder"/> to configure with actions to apply to the player's inventory</param>
|
|
563
|
+
/// <param name="transaction">An optional transaction id for the operation. </param>
|
|
564
|
+
/// <returns>A promise representing the success of the operation.</returns>
|
|
565
|
+
public Promise Update(Action<InventoryUpdateBuilder> updateBuilder, string transaction = null)
|
|
566
|
+
{
|
|
567
|
+
var builder = new InventoryUpdateBuilder();
|
|
568
|
+
updateBuilder?.Invoke(builder);
|
|
569
|
+
|
|
570
|
+
// serialize the builder, and commit it the log state.
|
|
571
|
+
return Update(builder, transaction);
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
/// <summary>
|
|
575
|
+
/// Similar to <see cref="Update(System.Action{Beamable.Common.Api.Inventory.InventoryUpdateBuilder},string)"/>,
|
|
576
|
+
/// However, this method will not actually submit the Inventory update request until the given <see cref="delay"/> passes.
|
|
577
|
+
/// If multiple calls are made to this method, then the <see cref="updateBuilder"/>s will be merged together
|
|
578
|
+
/// and sent as one network call.
|
|
579
|
+
/// This method will minimize network traffic.
|
|
580
|
+
/// This method returns a <see cref="Promise"/> that completes when the network call is actually made. Therefor,
|
|
581
|
+
/// it is not a good idea to call this method several times and await each one, as that would essentially be the same
|
|
582
|
+
/// as calling <see cref="Update(System.Action{Beamable.Common.Api.Inventory.InventoryUpdateBuilder},string)"/>.
|
|
583
|
+
/// Instead, consider using the <see cref="WaitForDelayedUpdate"/> method to get a promise that completes when
|
|
584
|
+
/// the accumulated action completes.
|
|
585
|
+
/// </summary>
|
|
586
|
+
/// <param name="updateBuilder">
|
|
587
|
+
/// An action that delivers an <see cref="InventoryUpdateBuilder"/> instance that can be modified to schedule
|
|
588
|
+
/// inventory updates. When the method is invoked multiple times, the previous instance will be used.
|
|
589
|
+
/// </param>
|
|
590
|
+
/// <param name="delay">
|
|
591
|
+
/// By default, the inventory update will take a few moments before being sent to Beamable.
|
|
592
|
+
/// Anytime there is a pending request and a new invocation of the method occurs, the scheduled call
|
|
593
|
+
/// will be pushed out by this delay again.
|
|
594
|
+
/// </param>
|
|
595
|
+
/// <returns>A promise that returns when the inventory update call has actually be sent and confirmed.</returns>
|
|
596
|
+
public Promise UpdateDelayed(Action<InventoryUpdateBuilder> updateBuilder, CustomYieldInstruction delay = null)
|
|
597
|
+
{
|
|
598
|
+
updateBuilder?.Invoke(_delayedBuilder);
|
|
599
|
+
return _delayedUpdatePromise = _debouncer.SetTimeout(CommitDelayed, delay);
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
/// <summary>
|
|
603
|
+
/// A <see cref="Promise"/> that completes when calls to <see cref="UpdateDelayed"/> are completed.
|
|
604
|
+
/// </summary>
|
|
605
|
+
public async Promise WaitForDelayedUpdate()
|
|
606
|
+
{
|
|
607
|
+
if (_delayedUpdatePromise != null)
|
|
608
|
+
{
|
|
609
|
+
await _delayedUpdatePromise;
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
private Promise CommitDelayed()
|
|
614
|
+
{
|
|
615
|
+
var builder = new InventoryUpdateBuilder(_delayedBuilder);
|
|
616
|
+
_delayedBuilder = new InventoryUpdateBuilder();
|
|
617
|
+
return Update(builder);
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
/// <summary>
|
|
621
|
+
/// Make an atomic update to the player's inventory state.
|
|
622
|
+
/// If you are offline, then this function changes based on your <see cref="CoreConfiguration.InventoryOfflineMode"/> setting.
|
|
623
|
+
///
|
|
624
|
+
/// <para>
|
|
625
|
+
/// Configure the <see cref="InventoryUpdateBuilder"/> with the modifications you'd like to make to the player's inventory.
|
|
626
|
+
/// </para>
|
|
627
|
+
/// <para>
|
|
628
|
+
/// Note that by default, you cannot update currency or items, because they can only be set from Beamable Microservices, or
|
|
629
|
+
/// the Beamable Platform itself. However, you can mark individual <see cref="CurrencyContent"/> and <see cref="ItemContent"/>
|
|
630
|
+
/// objects as editable by setting their <see cref="CurrencyContent.clientPermission"/> writeSelf property.
|
|
631
|
+
/// </para>
|
|
632
|
+
/// </summary>
|
|
633
|
+
/// <param name="updateBuilder">A <see cref="InventoryUpdateBuilder"/> containing actions to apply to the player's inventory</param>
|
|
634
|
+
/// <param name="transaction">An optional transaction id for the operation. </param>
|
|
635
|
+
/// <returns>A promise representing the success of the operation.</returns>
|
|
636
|
+
public async Promise Update(InventoryUpdateBuilder updateBuilder, string transaction = null)
|
|
637
|
+
{
|
|
638
|
+
if (_pendingUpdate != null)
|
|
639
|
+
{
|
|
640
|
+
await _pendingUpdate;
|
|
641
|
+
}
|
|
642
|
+
var json = InventoryUpdateBuilderSerializer.ToNetworkJson(updateBuilder, transaction);
|
|
643
|
+
var nextUpdatePromise = _sdkEventService.Add(new SdkEvent(nameof(PlayerInventory), "update", json));
|
|
644
|
+
_pendingUpdate = nextUpdatePromise;
|
|
645
|
+
await nextUpdatePromise;
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
private async Promise Apply(InventoryUpdateBuilder builder)
|
|
649
|
+
{
|
|
650
|
+
// TODO apply vip bonus
|
|
651
|
+
if (builder.applyVipBonus == true)
|
|
652
|
+
{
|
|
653
|
+
throw new NotImplementedException("Cannot perform vipBonus in offline mode");
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
if (builder.newItems.Count > 0)
|
|
657
|
+
{
|
|
658
|
+
// get the fake item group.
|
|
659
|
+
foreach (var newItem in builder.newItems)
|
|
660
|
+
{
|
|
661
|
+
|
|
662
|
+
var content = await _contentService.GetContent<ItemContent>(new ItemRef(newItem.contentId));
|
|
663
|
+
if (!content.clientPermission.writeSelf)
|
|
664
|
+
throw new PlatformRequesterException(new PlatformError
|
|
665
|
+
{
|
|
666
|
+
status = 403,
|
|
667
|
+
service = "inventory",
|
|
668
|
+
error = "not authorized",
|
|
669
|
+
message = "in an offline mode, you tried to write to a protected inventory item. That can't be simulated."
|
|
670
|
+
}, null, "403 offline");
|
|
671
|
+
|
|
672
|
+
|
|
673
|
+
_nextOfflineItemId--;
|
|
674
|
+
var nextItemId = _nextOfflineItemId;
|
|
675
|
+
_itemIdToReqId[OfflineIdKey(newItem.contentId, nextItemId)] = newItem.requestId;
|
|
676
|
+
|
|
677
|
+
localItems.Insert(newItem.contentId, new PlayerItem
|
|
678
|
+
{
|
|
679
|
+
ContentId = newItem.contentId,
|
|
680
|
+
ItemId = nextItemId,
|
|
681
|
+
Properties = newItem.properties,
|
|
682
|
+
CreatedAt = 0,
|
|
683
|
+
FederatedId = new OptionalString() { HasValue = false },
|
|
684
|
+
UpdatedAt = 0,
|
|
685
|
+
Content = content
|
|
686
|
+
});
|
|
687
|
+
await Refresh(newItem.contentId);
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
if (builder.updateItems.Count > 0)
|
|
692
|
+
{
|
|
693
|
+
foreach (var updateItem in builder.updateItems)
|
|
694
|
+
{
|
|
695
|
+
var existingItems = localItems.GetAll(updateItem.contentId);
|
|
696
|
+
var existingItem = existingItems.FirstOrDefault(x => x.ItemId == updateItem.itemId);
|
|
697
|
+
if (existingItem == null)
|
|
698
|
+
throw new InvalidOperationException($"Cannot update non existent item while in offline mode. contentid=[{updateItem.contentId}] itemid=[{updateItem.itemId}]");
|
|
699
|
+
|
|
700
|
+
existingItem.Properties = updateItem.properties;
|
|
701
|
+
existingItem.UpdatedAt = 0; // TODO how to get server time in offline way?
|
|
702
|
+
|
|
703
|
+
await Refresh(updateItem.contentId);
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
if (builder.deleteItems.Count > 0)
|
|
708
|
+
{
|
|
709
|
+
foreach (var deleteItem in builder.updateItems)
|
|
710
|
+
{
|
|
711
|
+
// TODO: why do we need this? If we have the id, we can remove it, and its like it never entered the player's inventorym ,right?
|
|
712
|
+
if (deleteItem.itemId < 0)
|
|
713
|
+
throw new InvalidOperationException(
|
|
714
|
+
"Cannot delete an item that was created while in offline mode. This is because the id of the item isn't actually known, so the update");
|
|
715
|
+
}
|
|
716
|
+
foreach (var deleteItem in builder.deleteItems)
|
|
717
|
+
{
|
|
718
|
+
var existingItems = localItems.GetAll(deleteItem.contentId);
|
|
719
|
+
var existingItem = existingItems.FirstOrDefault(x => x.ItemId == deleteItem.itemId);
|
|
720
|
+
if (existingItem == null)
|
|
721
|
+
throw new InvalidOperationException($"Cannot delete non existent item while in offline mode. contentid=[{deleteItem.contentId}] itemid=[{deleteItem.itemId}]");
|
|
722
|
+
|
|
723
|
+
localItems.Remove(deleteItem.contentId, existingItem);
|
|
724
|
+
await Refresh(deleteItem.contentId);
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
|
|
729
|
+
if (builder.currencyProperties.Count > 0)
|
|
730
|
+
{
|
|
731
|
+
foreach (var currProps in builder.currencyProperties)
|
|
732
|
+
{
|
|
733
|
+
var curr = GetCurrency(currProps.Key);
|
|
734
|
+
foreach (var prop in currProps.Value.Properties)
|
|
735
|
+
{
|
|
736
|
+
curr.Properties[prop.name] = prop.value;
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
await Currencies.Refresh();
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
foreach (var kvp in builder.currencies)
|
|
744
|
+
{
|
|
745
|
+
Currencies.GetCurrency(kvp.Key).Amount += kvp.Value;
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
|
|
751
|
+
private string OfflineIdKey(string contentId, long itemId) => $"{contentId}-{itemId}"; // TODO: Maybe don't need content id?
|
|
752
|
+
|
|
753
|
+
private bool TryGetOfflineId(string contentId, long itemId, out string reqId)
|
|
754
|
+
{
|
|
755
|
+
return _itemIdToReqId.TryGetValue(OfflineIdKey(contentId, itemId), out reqId);
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
private void UpdateOfflineBuilder(InventoryUpdateBuilder builder)
|
|
759
|
+
{
|
|
760
|
+
if (builder.applyVipBonus.HasValue)
|
|
761
|
+
{
|
|
762
|
+
_offlineUpdate.applyVipBonus = builder.applyVipBonus;
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
foreach (var kvp in builder.currencyProperties)
|
|
766
|
+
{
|
|
767
|
+
_offlineUpdate.currencyProperties[kvp.Key] = kvp.Value;
|
|
768
|
+
}
|
|
769
|
+
|
|
770
|
+
foreach (var curr in builder.currencies)
|
|
771
|
+
{
|
|
772
|
+
_offlineUpdate.CurrencyChange(curr.Key, curr.Value);
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
_offlineUpdate.newItems.AddRange(builder.newItems);
|
|
776
|
+
_offlineUpdate.updateItems.AddRange(builder.updateItems);
|
|
777
|
+
_offlineUpdate.deleteItems.AddRange(builder.deleteItems);
|
|
778
|
+
|
|
779
|
+
// if we delete an item that we had only ever added offline, then we don't ever send it. So we remove it from the newItems
|
|
780
|
+
foreach (var delete in builder.deleteItems)
|
|
781
|
+
{
|
|
782
|
+
if (TryGetOfflineId(delete.contentId, delete.itemId, out var reqId))
|
|
783
|
+
{
|
|
784
|
+
var newItem = _offlineUpdate.newItems.FirstOrDefault(item => item.requestId == reqId);
|
|
785
|
+
var deleteItem = _offlineUpdate.deleteItems.FirstOrDefault(
|
|
786
|
+
item => item.contentId == delete.contentId && item.itemId == delete.itemId);
|
|
787
|
+
_offlineUpdate.newItems.Remove(newItem);
|
|
788
|
+
_offlineUpdate.deleteItems.Remove(deleteItem);
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
// if we update an item that we only ever added offline, then we don't send the update request, but instead modify the original start parameters...
|
|
793
|
+
foreach (var update in builder.updateItems)
|
|
794
|
+
{
|
|
795
|
+
if (TryGetOfflineId(update.contentId, update.itemId, out var reqId))
|
|
796
|
+
{
|
|
797
|
+
var newItem = _offlineUpdate.newItems.FirstOrDefault(item => item.requestId == reqId);
|
|
798
|
+
if (newItem == null)
|
|
799
|
+
throw new InvalidOperationException($"Cannot update item that doesnt exist in builder. {update.contentId}-{update.itemId}");
|
|
800
|
+
newItem.properties = update.properties;
|
|
801
|
+
var updateItem = _offlineUpdate.updateItems.FirstOrDefault(
|
|
802
|
+
item => item.contentId == update.contentId && item.itemId == update.itemId);
|
|
803
|
+
_offlineUpdate.updateItems.Remove(updateItem);
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
private async Promise HandleUpdate(SdkEvent evt)
|
|
809
|
+
{
|
|
810
|
+
var json = evt.Args[0];
|
|
811
|
+
var data = InventoryUpdateBuilderSerializer.FromNetworkJson(json);
|
|
812
|
+
var builder = data.Item1;
|
|
813
|
+
var relevantScopes = builder.BuildScopes();
|
|
814
|
+
var transaction = data.Item2;
|
|
815
|
+
try
|
|
816
|
+
{
|
|
817
|
+
await _inventoryApi.Update(builder, transaction);
|
|
818
|
+
}
|
|
819
|
+
catch (NoConnectivityException)
|
|
820
|
+
{
|
|
821
|
+
if (_config.InventoryOfflineMode == CoreConfiguration.OfflineStrategy.Disable)
|
|
822
|
+
{
|
|
823
|
+
throw;
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
UpdateOfflineBuilder(builder);
|
|
827
|
+
var _ = _consumer.RunAfterReconnection(new SdkEvent(nameof(PlayerInventory), "commit", json));
|
|
828
|
+
await Apply(builder);
|
|
829
|
+
return;
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
try
|
|
833
|
+
{
|
|
834
|
+
foreach (var itemGroup in _scopeToItemGroup.Values)
|
|
835
|
+
{
|
|
836
|
+
// only bother updating the group if its in the builder.
|
|
837
|
+
if (relevantScopes.Any(itemGroup.IsScopePartOfGroup))
|
|
838
|
+
{
|
|
839
|
+
await itemGroup.Refresh();
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
await Currencies.Refresh();
|
|
843
|
+
}
|
|
844
|
+
catch (NoConnectivityException)
|
|
845
|
+
{
|
|
846
|
+
// oh well.
|
|
847
|
+
}
|
|
848
|
+
}
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
private async Promise HandleEvent(SdkEvent evt)
|
|
852
|
+
{
|
|
853
|
+
switch (evt.Event)
|
|
854
|
+
{
|
|
855
|
+
case "update":
|
|
856
|
+
await HandleUpdate(evt);
|
|
857
|
+
break;
|
|
858
|
+
|
|
859
|
+
case "commit": // TODO: turn into const strings.
|
|
860
|
+
if (_offlineUpdate.IsEmpty)
|
|
861
|
+
{
|
|
862
|
+
break;
|
|
863
|
+
}
|
|
864
|
+
var nextBuilder = _offlineUpdate;
|
|
865
|
+
_offlineUpdate = new InventoryUpdateBuilder();
|
|
866
|
+
await Update(nextBuilder); // TODO: this might fail, and we'd lose accrued data.
|
|
867
|
+
_itemIdToReqId.Clear();
|
|
868
|
+
break;
|
|
869
|
+
}
|
|
870
|
+
_saveHandle.Save();
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
/// <summary>
|
|
874
|
+
/// Refreshes all <see cref="PlayerItemGroup"/>s that have been established using <see cref="GetItems"/>,
|
|
875
|
+
/// and refreshes currencies <see cref="Currencies"/>.
|
|
876
|
+
///
|
|
877
|
+
/// In order to refresh a specific set of scopes, use the <see cref="Refresh(string[])"/> method.
|
|
878
|
+
/// </summary>
|
|
879
|
+
public async Promise Refresh()
|
|
880
|
+
{
|
|
881
|
+
var scopes = _requestCounter.GetNonEmptyKeys(_requestCounter.GetKeys()).ToArray();
|
|
882
|
+
await Refresh(scopes);
|
|
883
|
+
_saveHandle.Save();
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
|
|
887
|
+
public void OnBeforeSaveState()
|
|
888
|
+
{
|
|
889
|
+
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
}
|
|
893
|
+
}
|