com.beamable 5.1.0-PREVIEW.RC9 → 5.1.0
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 -1
- package/Common/Runtime/AgnosticAttribute.cs +2 -2
- package/Common/Runtime/Api/AliasHelper.cs +2 -2
- package/Common/Runtime/Api/Analytics/AnalyticsEventRequest.cs +2 -2
- package/Common/Runtime/Api/Analytics/AnalyticsService.cs +2 -2
- package/Common/Runtime/Api/Analytics/IBeamAnalyticsService.cs +2 -2
- package/Common/Runtime/Api/Analytics/Models/CoreEvent.cs +2 -2
- package/Common/Runtime/Api/Analytics/Models/IAnalyticsEvent.cs +2 -2
- package/Common/Runtime/Api/Analytics/Models/SampleCustomEvent.cs +2 -2
- package/Common/Runtime/Api/Announcements/AbsAnnouncementsApi.cs +2 -2
- package/Common/Runtime/Api/Announcements/IAnnouncementsApi.cs +2 -2
- package/Common/Runtime/Api/Auth/AuthApi.cs +2 -2
- package/Common/Runtime/Api/Auth/IAuthApi.cs +2 -2
- package/Common/Runtime/Api/Calendars/AbsCalendarApi.cs +2 -2
- package/Common/Runtime/Api/Calendars/ICalendarApi.cs +2 -2
- package/Common/Runtime/Api/Chat/ChatApi.cs +2 -2
- package/Common/Runtime/Api/Chat/IChatApi.cs +2 -2
- package/Common/Runtime/Api/CloudData/CloudDataApi.cs +2 -2
- package/Common/Runtime/Api/CloudData/ICloudDataApi.cs +2 -2
- package/Common/Runtime/Api/CometClientData.cs +2 -2
- package/Common/Runtime/Api/Commerce/ICommerceApi.cs +2 -2
- package/Common/Runtime/Api/Content/IContentApi.cs +2 -2
- package/Common/Runtime/Api/Events/AbsEventsApi.cs +2 -2
- package/Common/Runtime/Api/Events/IEventsApi.cs +2 -2
- package/Common/Runtime/Api/Groups/GroupsApi.cs +2 -2
- package/Common/Runtime/Api/Groups/IGroupsApi.cs +2 -2
- package/Common/Runtime/Api/IAccessToken.cs +2 -2
- package/Common/Runtime/Api/IBeamableFilesystemAccessor.cs +2 -2
- package/Common/Runtime/Api/IBeamableRequester.cs +2 -2
- package/Common/Runtime/Api/IConnectivityChecker.cs +2 -2
- package/Common/Runtime/Api/IHasBeamableRequester.cs +2 -2
- package/Common/Runtime/Api/IServiceRoutingStrategy.cs +2 -2
- package/Common/Runtime/Api/ISupportsGet.cs +2 -2
- package/Common/Runtime/Api/IUserContext.cs +2 -2
- package/Common/Runtime/Api/IUserDataCache.cs +2 -2
- package/Common/Runtime/Api/Inventory/IInventoryApi.cs +2 -2
- package/Common/Runtime/Api/Inventory/InventoryApi.cs +2 -2
- package/Common/Runtime/Api/Inventory/InventoryUpdateBuilder.cs +2 -2
- package/Common/Runtime/Api/Leaderboards/ILeaderboardApi.cs +2 -2
- package/Common/Runtime/Api/Leaderboards/LeaderboardApi.cs +2 -2
- package/Common/Runtime/Api/Lobbies/ILobbyApi.cs +2 -2
- package/Common/Runtime/Api/Lobbies/Lobby.cs +2 -2
- package/Common/Runtime/Api/Lobbies/LobbyNotification.cs +2 -2
- package/Common/Runtime/Api/Lobbies/LobbyPlayer.cs +2 -2
- package/Common/Runtime/Api/Lobbies/LobbyRestriction.cs +2 -2
- package/Common/Runtime/Api/Lobbies/LobbyService.cs +2 -2
- package/Common/Runtime/Api/Lobbies/LobbyUtils.cs +2 -2
- package/Common/Runtime/Api/Lobbies/NotInLobby.cs +2 -2
- package/Common/Runtime/Api/Lobbies/Requests/AddTagsRequest.cs +2 -2
- package/Common/Runtime/Api/Lobbies/Requests/CreateLobbyRequest.cs +2 -2
- package/Common/Runtime/Api/Lobbies/Requests/JoinByPasscodeRequest.cs +2 -2
- package/Common/Runtime/Api/Lobbies/Requests/JoinLobbyRequest.cs +2 -2
- package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryRequest.cs +2 -2
- package/Common/Runtime/Api/Lobbies/Requests/LobbyQueryResponse.cs +2 -2
- package/Common/Runtime/Api/Lobbies/Requests/RemoveFromLobbyRequest.cs +2 -2
- package/Common/Runtime/Api/Lobbies/Requests/RemoveTagsRequest.cs +2 -2
- package/Common/Runtime/Api/Lobbies/Requests/UpdateLobbyRequest.cs +2 -2
- package/Common/Runtime/Api/Mail/AbsMailApi.cs +2 -2
- package/Common/Runtime/Api/Mail/IMailApi.cs +2 -2
- package/Common/Runtime/Api/Notifications/INotificationService.cs +2 -2
- package/Common/Runtime/Api/Notifications/PrimitiveStringPayload.cs +2 -2
- package/Common/Runtime/Api/Parties/IPartyApi.cs +2 -2
- package/Common/Runtime/Api/Parties/NotInParty.cs +2 -2
- package/Common/Runtime/Api/Parties/Party.cs +2 -2
- package/Common/Runtime/Api/Parties/PartyNotifications.cs +2 -2
- package/Common/Runtime/Api/Parties/PartyRestriction.cs +2 -2
- package/Common/Runtime/Api/Parties/PartyService.cs +2 -2
- package/Common/Runtime/Api/Parties/Requests/CreatePartyRequest.cs +2 -2
- package/Common/Runtime/Api/Parties/Requests/PartyQueryResponse.cs +2 -2
- package/Common/Runtime/Api/Parties/Requests/PlayerRequest.cs +2 -2
- package/Common/Runtime/Api/Parties/Requests/UpdatePartyRequest.cs +2 -2
- package/Common/Runtime/Api/Payments/IPaymentsApi.cs +2 -2
- package/Common/Runtime/Api/Payments/PaymentsApi.cs +2 -2
- package/Common/Runtime/Api/Presence/IPresenceApi.cs +2 -2
- package/Common/Runtime/Api/Presence/PresenceService.cs +2 -2
- package/Common/Runtime/Api/Push/IPushApi.cs +2 -2
- package/Common/Runtime/Api/QueryBuilder.cs +2 -2
- package/Common/Runtime/Api/Realms/IAliasService.cs +2 -2
- package/Common/Runtime/Api/Realms/IRealmApi.cs +2 -2
- package/Common/Runtime/Api/Realms/RealmService.cs +2 -2
- package/Common/Runtime/Api/SignedRequesterHelper.cs +2 -2
- package/Common/Runtime/Api/Social/ISocialApi.cs +2 -2
- package/Common/Runtime/Api/Social/SocialApi.cs +2 -2
- package/Common/Runtime/Api/Stats/AbsStatsApi.cs +2 -2
- package/Common/Runtime/Api/Stats/IStatsApi.cs +2 -2
- package/Common/Runtime/Api/Stats/StatsAccessType.cs +2 -2
- package/Common/Runtime/Api/Stats/StatsApiHelper.cs +2 -2
- package/Common/Runtime/Api/Stats/StatsDomainType.cs +2 -2
- package/Common/Runtime/Api/Tournaments/ITournamentApi.cs +2 -2
- package/Common/Runtime/Api/Tournaments/TournamentApi.cs +2 -2
- package/Common/Runtime/BeamCli/CliContractTypeAttribute.cs +2 -2
- package/Common/Runtime/BeamCli/CliOtelData.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/CliLogMessage.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/CollectorStatus.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/Constants.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotActionType.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/AutoSnapshotType.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/ContentSnapshotType.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/ContentStatus.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifest.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/LocalContentManifestEntry.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestAuthor.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/ManifestProjectData.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ContentService/TagStatus.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/EnvironmentVersionData.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/GenerateEnvOutput.cs +2 -2
- package/Common/Runtime/BeamCli/Contracts/ServiceInfo.cs +2 -2
- package/Common/Runtime/BeamCli/ErrorOutput.cs +2 -2
- package/Common/Runtime/BeamCli/IBeamCommand.cs +2 -2
- package/Common/Runtime/BeamCli/Reporting.cs +2 -2
- package/Common/Runtime/BeamCli/ServiceInfoHelper.cs +2 -2
- package/Common/Runtime/BeamGenerateSchemaAttribute.cs +2 -2
- package/Common/Runtime/BeamableColorUtil.cs +2 -2
- package/Common/Runtime/BeamableEnumExtensions.cs +2 -2
- package/Common/Runtime/BeamableTaskExtensions.cs +2 -2
- package/Common/Runtime/Collections/ConcurrentBag.cs +2 -2
- package/Common/Runtime/Collections/ConcurrentDictionary.cs +2 -2
- package/Common/Runtime/Constants/Constants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/ArchiveConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/ConfigConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/ContentConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/ContentManagerConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/CronConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/DockerConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/EnvironmentConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/LoginBaseConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/MigrationConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/NotificationConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/OtelConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/PortalExtensionConstants.cs +4 -2
- package/Common/Runtime/Constants/Implementations/RequesterConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/SchedulesConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/ServiceConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/SpewConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/TestingToolConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/ToolbarConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/ToolboxConstants.cs +2 -2
- package/Common/Runtime/Constants/Implementations/TooltipConstants.cs +2 -2
- package/Common/Runtime/Content/ClientContentSerializer.cs +2 -2
- package/Common/Runtime/Content/ClientManifest.cs +2 -2
- package/Common/Runtime/Content/ClientPermissions.cs +2 -2
- package/Common/Runtime/Content/ContentCorruptedException.cs +2 -2
- package/Common/Runtime/Content/ContentDataInfo.cs +2 -2
- package/Common/Runtime/Content/ContentDeserializationException.cs +2 -2
- package/Common/Runtime/Content/ContentFieldAttribute.cs +2 -2
- package/Common/Runtime/Content/ContentFilterType.cs +2 -2
- package/Common/Runtime/Content/ContentNotFoundException.cs +2 -2
- package/Common/Runtime/Content/ContentObject.cs +2 -2
- package/Common/Runtime/Content/ContentQuery.cs +2 -2
- package/Common/Runtime/Content/ContentQueryExtensions.cs +2 -2
- package/Common/Runtime/Content/ContentRef.cs +2 -2
- package/Common/Runtime/Content/ContentSerializer.cs +2 -2
- package/Common/Runtime/Content/ContentTypeAttribute.cs +2 -2
- package/Common/Runtime/Content/ContentTypeReflectionCache.cs +2 -2
- package/Common/Runtime/Content/ContentVisibility.cs +2 -2
- package/Common/Runtime/Content/Federation.cs +2 -2
- package/Common/Runtime/Content/IContentObject.cs +2 -2
- package/Common/Runtime/Content/IContentService.cs +2 -2
- package/Common/Runtime/Content/IIgnoreSerializationCallbacks.cs +2 -2
- package/Common/Runtime/Content/IgnoreContentFieldAttribute.cs +2 -2
- package/Common/Runtime/Content/Optionals.cs +2 -2
- package/Common/Runtime/Content/PropertyAttributes/FilePathSelectorAttribute.cs +2 -2
- package/Common/Runtime/Content/PropertyAttributes/HideUnlessServerPackageInstalled.cs +2 -2
- package/Common/Runtime/Content/PropertyAttributes/ReadonlyIfAttribute.cs +2 -2
- package/Common/Runtime/Content/PropertyAttributes/ShowOnlyAttribute.cs +2 -2
- package/Common/Runtime/Content/RenderAsRefAttribute.cs +2 -2
- package/Common/Runtime/Content/SerializableDictionary.cs +2 -2
- package/Common/Runtime/Content/Utility/DateUtility.cs +2 -2
- package/Common/Runtime/Content/Validation/AggregateContentValidationException.cs +2 -2
- package/Common/Runtime/Content/Validation/CannotBeBlank.cs +2 -2
- package/Common/Runtime/Content/Validation/CannotBeEmpty.cs +2 -2
- package/Common/Runtime/Content/Validation/ContentValidationException.cs +2 -2
- package/Common/Runtime/Content/Validation/FederationMustBeValid.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBeComparatorString.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBeCurrency.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBeCurrencyOrItem.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBeDateString.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBeItem.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBeLeaderboard.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBeNonDefault.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBeNonNegative.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBeOneOf.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBePositive.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBeSlugString.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBeTimeSpanDuration.cs +2 -2
- package/Common/Runtime/Content/Validation/MustBeValidCron.cs +2 -2
- package/Common/Runtime/Content/Validation/MustContain.cs +2 -2
- package/Common/Runtime/Content/Validation/MustReferenceContent.cs +2 -2
- package/Common/Runtime/Content/Validation/RouteParametersMustBeValid.cs +2 -2
- package/Common/Runtime/Content/Validation/ServiceRouteMustBeValid.cs +2 -2
- package/Common/Runtime/Content/Validation/TimeSpanDisplayAttribute.cs +2 -2
- package/Common/Runtime/Content/Validation/ValidationAttribute.cs +2 -2
- package/Common/Runtime/Content/Validation/ValidationContext.cs +2 -2
- package/Common/Runtime/CronExpression/CronLocale.cs +2 -2
- package/Common/Runtime/CronExpression/ErrorData.cs +2 -2
- package/Common/Runtime/CronExpression/ExpressionParser.cs +2 -2
- package/Common/Runtime/CronExpression/Options.cs +2 -2
- package/Common/Runtime/Debug.cs +2 -2
- package/Common/Runtime/DefaultQuery.cs +2 -2
- package/Common/Runtime/Dependencies/DependencyBuilder.cs +2 -2
- package/Common/Runtime/Dependencies/DependencyProvider.cs +2 -2
- package/Common/Runtime/Dependencies/Exceptions.cs +2 -2
- package/Common/Runtime/Dependencies/IDependencyList.cs +2 -2
- package/Common/Runtime/Dependencies/IDependencyNameProvider.cs +2 -2
- package/Common/Runtime/Dependencies/RegisterBeamableDependenciesAttribute.cs +2 -2
- package/Common/Runtime/Dependencies/ServiceStorage.cs +2 -2
- package/Common/Runtime/Dependencies/Utils.cs +2 -2
- package/Common/Runtime/DocUtils.cs +2 -2
- package/Common/Runtime/Environment/PackageVersion.cs +2 -2
- package/Common/Runtime/Federation/FederatedGameServer.cs +2 -2
- package/Common/Runtime/Federation/FederatedInventory.cs +2 -2
- package/Common/Runtime/Federation/FederatedLogin.cs +2 -2
- package/Common/Runtime/Federation/FederatedPlayerInit.cs +2 -2
- package/Common/Runtime/Federation/Federation.cs +2 -2
- package/Common/Runtime/IRuntimeConfigProvider.cs +2 -2
- package/Common/Runtime/ISearchableElement.cs +2 -2
- package/Common/Runtime/JsonSerializable/DeleteStream.cs +2 -2
- package/Common/Runtime/JsonSerializable/DiffStream.cs +2 -2
- package/Common/Runtime/JsonSerializable/JsonData.cs +2 -2
- package/Common/Runtime/JsonSerializable/JsonSaveStream.cs +2 -2
- package/Common/Runtime/JsonSerializable/JsonSerializable.cs +2 -2
- package/Common/Runtime/JsonSerializable/LoadStream.cs +2 -2
- package/Common/Runtime/JsonSerializable/MessagePackStream.cs +2 -2
- package/Common/Runtime/JsonSerializable/SaveStream.cs +2 -2
- package/Common/Runtime/JsonSerializable/TypeLookupFactory.cs +2 -2
- package/Common/Runtime/Modules/Announcements/AnnouncementApiContent.cs +2 -2
- package/Common/Runtime/Modules/Announcements/AnnouncementContent.cs +2 -2
- package/Common/Runtime/Modules/Announcements/AnnouncementRef.cs +2 -2
- package/Common/Runtime/Modules/Calendars/CalendarContent.cs +2 -2
- package/Common/Runtime/Modules/Calendars/CalendarRef.cs +2 -2
- package/Common/Runtime/Modules/Groups/GroupDonationContentRef.cs +2 -2
- package/Common/Runtime/Modules/Groups/GroupDonationsContent.cs +2 -2
- package/Common/Runtime/Modules/Inventory/CurrencyContent.cs +2 -2
- package/Common/Runtime/Modules/Inventory/CurrencyRef.cs +2 -2
- package/Common/Runtime/Modules/Inventory/ItemContent.cs +2 -2
- package/Common/Runtime/Modules/Inventory/ItemRef.cs +2 -2
- package/Common/Runtime/Modules/Inventory/VipContent.cs +2 -2
- package/Common/Runtime/Modules/Leaderboards/LeaderboardContent.cs +2 -2
- package/Common/Runtime/Modules/Leaderboards/LeaderboardRef.cs +2 -2
- package/Common/Runtime/Modules/SharedContent/ApiContent.cs +2 -2
- package/Common/Runtime/Modules/SharedContent/EmailContent.cs +2 -2
- package/Common/Runtime/Modules/SharedContent/EventContent.cs +2 -2
- package/Common/Runtime/Modules/SharedContent/PlayerReward.cs +2 -2
- package/Common/Runtime/Modules/SharedContent/ScheduleDefinition.cs +2 -2
- package/Common/Runtime/Modules/SharedContent/ScheduleExtensions.cs +2 -2
- package/Common/Runtime/Modules/SharedContent/SimGameType.cs +2 -2
- package/Common/Runtime/Modules/Shop/ListingContent.cs +2 -2
- package/Common/Runtime/Modules/Shop/ListingLink.cs +2 -2
- package/Common/Runtime/Modules/Shop/ListingRef.cs +2 -2
- package/Common/Runtime/Modules/Shop/SKUContent.cs +2 -2
- package/Common/Runtime/Modules/Shop/SKURef.cs +2 -2
- package/Common/Runtime/Modules/Shop/StoreContent.cs +2 -2
- package/Common/Runtime/Modules/Shop/StoreRef.cs +2 -2
- package/Common/Runtime/Modules/Steam/ISteamService.cs +2 -2
- package/Common/Runtime/Modules/Tournaments/TournamentColorConstants.cs +2 -2
- package/Common/Runtime/Modules/Tournaments/TournamentContent.cs +2 -2
- package/Common/Runtime/ObjectExtensions.cs +2 -2
- package/Common/Runtime/OpenApi/AccountsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AccountsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AccountsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AnnouncementsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AnnouncementsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AnnouncementsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AuthBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/AuthBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamAuth.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamAuthCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamBeamo.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamBeamoCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamBeamootel.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamBeamootelCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamBilling.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamBillingCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamCustomer.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamCustomerCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamLobby.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamLobbyCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamMailbox.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamMailboxCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamMatchmaking.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamMatchmakingCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamParty.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPartyCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayer.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerlobby.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerlobbyCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerparty.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerpartyCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayersession.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayersessionCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerstats.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerstatsCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerticket.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPlayerticketCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPresence.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamPresenceCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamRealmsecrets.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamRealmsecretsCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamScheduler.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamSchedulerCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamSession.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamSessionCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamStats.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamStatsCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamoBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/BeamoBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/CalendarsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/CalendarsObjectCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/CloudsavingBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/CloudsavingBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/CommerceBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/CommerceBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/CommerceObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/ContentBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/ContentBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/Event-playersObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/Event-playersObjectCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/EventsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/EventsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/EventsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/Group-usersObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/Group-usersObjectCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/GroupsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/GroupsObjectCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/InventoryBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/InventoryBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/InventoryObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/LeaderboardsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/LeaderboardsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/LeaderboardsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/MailBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/MailBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/MailObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/Models.gs.cs +2 -2
- package/Common/Runtime/OpenApi/NotificationBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/NotificationBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/PaymentsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/PaymentsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/PaymentsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/PushBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/PushBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/RealmsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/RealmsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/SessionBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/SessionBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/SocialBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/SocialBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/StatsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/StatsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/StatsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/TournamentsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/TournamentsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApi/TournamentsObject.gs.cs +2 -2
- package/Common/Runtime/OpenApi/TrialsBasic.gs.cs +2 -2
- package/Common/Runtime/OpenApi/TrialsBasicCommon.gs.cs +2 -2
- package/Common/Runtime/OpenApiExtensions/BeamoExtensions.cs +2 -2
- package/Common/Runtime/OpenApiExtensions/LegacyConverterExtensions.cs +2 -2
- package/Common/Runtime/OpenApiSystem.cs +2 -2
- package/Common/Runtime/Player/Lazy.cs +2 -2
- package/Common/Runtime/Player/Observables.cs +2 -2
- package/Common/Runtime/Pooling/ClassPool.cs +2 -2
- package/Common/Runtime/Pooling/StringBuilderPool.cs +2 -2
- package/Common/Runtime/Promise.cs +2 -2
- package/Common/Runtime/ReflectionCache/BeamContextSystemAttribute.cs +2 -2
- package/Common/Runtime/ReflectionCache/INamingAttribute.cs +2 -2
- package/Common/Runtime/ReflectionCache/IReflectionAttribute.cs +2 -2
- package/Common/Runtime/ReflectionCache/PreserveAttribute.cs +2 -2
- package/Common/Runtime/ReflectionCache/ReflectionCache.cs +2 -2
- package/Common/Runtime/ReflectionCache/ReflectionCache_Attributes.cs +2 -2
- package/Common/Runtime/ReflectionCache/ReflectionCache_BaseTypes.cs +2 -2
- package/Common/Runtime/ReflectionCache/ReflectionCache_SignatureMatching.cs +2 -2
- package/Common/Runtime/Scheduler/BeamScheduler.cs +2 -2
- package/Common/Runtime/Scheduler/Cron.cs +2 -2
- package/Common/Runtime/Scheduler/CronValidation.cs +2 -2
- package/Common/Runtime/Semantics/BeamAccountId.cs +2 -2
- package/Common/Runtime/Semantics/BeamCid.cs +2 -2
- package/Common/Runtime/Semantics/BeamContentId.cs +2 -2
- package/Common/Runtime/Semantics/BeamContentManifestId.cs +2 -2
- package/Common/Runtime/Semantics/BeamGamerTag.cs +2 -2
- package/Common/Runtime/Semantics/BeamPid.cs +2 -2
- package/Common/Runtime/Semantics/BeamStats.cs +2 -2
- package/Common/Runtime/Semantics/IBeamSemanticType.cs +2 -2
- package/Common/Runtime/Semantics/ServiceName.cs +2 -2
- package/Common/Runtime/SmallerJSON/IRawJsonProvider.cs +2 -2
- package/Common/Runtime/SmallerJSON/SmallerJSON.ArrayDict.cs +2 -2
- package/Common/Runtime/SmallerJSON/SmallerJSON.FromString.cs +2 -2
- package/Common/Runtime/SmallerJSON/SmallerJSON.cs +2 -2
- package/Common/Runtime/Spew/Logger.cs +2 -2
- package/Common/Runtime/Spew/SpewLoggerAttribute.cs +2 -2
- package/Common/Runtime/Trie.cs +2 -2
- package/Common/Runtime/TypeExtensions.cs +2 -2
- package/Common/Runtime/Util/BeamAssemblyVersionUtil.cs +2 -2
- package/Common/Runtime/Util/BeamFileUtil.cs +2 -2
- package/Common/Runtime/Util/DocsPageHelper.cs +2 -2
- package/Common/Runtime/Util/NaturalStringComparer.cs +2 -2
- package/Editor/BeamCli/BeamCli.cs +26 -0
- package/Editor/BeamCli/BeamWebCommand.cs +50 -12
- package/Editor/BeamCli/Commands/BeamPortalExtensionAddLibrary.cs +62 -0
- package/Editor/BeamCli/Commands/BeamPortalExtensionAddLibrary.cs.meta +11 -0
- package/Editor/BeamCli/Commands/BeamProjectNewPortalExtensionLib.cs +65 -0
- package/Editor/BeamCli/Commands/BeamProjectNewPortalExtensionLib.cs.meta +11 -0
- package/Editor/BeamEditor.cs +52 -7
- package/Editor/Toolbar/MenuItems/BeamableRealmMenuItem.cs +2 -1
- package/Editor/UI/AccountWindow/AccountWindow_Games.cs +19 -3
- package/Editor/UI/AccountWindow/AccountWindow_SignedIn.cs +3 -2
- package/Runtime/Environment/Resources/env-default.json +3 -3
- package/Runtime/Environment/Resources/versions-default.json +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
-
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
1
|
+
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
+
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
3
3
|
|
|
4
4
|
//#define PREPEND_SPEW_METADATA
|
|
5
5
|
// With PREPEND_SPEW_METADATA defined, all spew logs will have frame # and time prepended.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
-
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
1
|
+
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
+
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
3
3
|
|
|
4
4
|
using System;
|
|
5
5
|
using System.Diagnostics;
|
package/Common/Runtime/Trie.cs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
-
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
1
|
+
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
+
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
3
3
|
|
|
4
4
|
using System;
|
|
5
5
|
using System.Collections.Generic;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
-
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
1
|
+
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
+
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
using System;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
-
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
1
|
+
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
+
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
3
3
|
|
|
4
4
|
using Beamable.Common.Spew;
|
|
5
5
|
using System;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
-
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
1
|
+
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
+
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
3
3
|
|
|
4
4
|
using System;
|
|
5
5
|
using System.IO;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
-
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
1
|
+
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
+
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
3
3
|
|
|
4
4
|
namespace Beamable.Common.Util
|
|
5
5
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
-
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
1
|
+
// this file was copied from nuget package Beamable.Common@7.2.0
|
|
2
|
+
// https://www.nuget.org/packages/Beamable.Common/7.2.0
|
|
3
3
|
|
|
4
4
|
using System.Collections.Generic;
|
|
5
5
|
|
|
@@ -71,6 +71,7 @@ namespace Beamable.Editor.BeamCli
|
|
|
71
71
|
private ConfigRoutesWrapper _routesInvoke;
|
|
72
72
|
private ProjectAddUnityProjectWrapper _linkCommand;
|
|
73
73
|
private ProjectAddPathsWrapper _addPathsInvoke;
|
|
74
|
+
private Promise _refreshPromise;
|
|
74
75
|
|
|
75
76
|
// public Dictionary<string, BeamOrgRealmData> pidToRealm = new Dictionary<string, BeamOrgRealmData>();
|
|
76
77
|
|
|
@@ -105,6 +106,26 @@ namespace Beamable.Editor.BeamCli
|
|
|
105
106
|
}
|
|
106
107
|
|
|
107
108
|
public async Promise Refresh()
|
|
109
|
+
{
|
|
110
|
+
// Refresh owns shared command wrappers; overlapping refreshes cancel each other's requests.
|
|
111
|
+
if (_refreshPromise != null)
|
|
112
|
+
{
|
|
113
|
+
await _refreshPromise;
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
_refreshPromise = RefreshImpl();
|
|
118
|
+
try
|
|
119
|
+
{
|
|
120
|
+
await _refreshPromise;
|
|
121
|
+
}
|
|
122
|
+
finally
|
|
123
|
+
{
|
|
124
|
+
_refreshPromise = null;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
private async Promise RefreshImpl()
|
|
108
129
|
{
|
|
109
130
|
_addPathsInvoke?.Cancel();
|
|
110
131
|
var configPath = Path.Combine(latestConfig?.configPath ?? ".beamable", "config.beam.json");
|
|
@@ -349,6 +370,11 @@ namespace Beamable.Editor.BeamCli
|
|
|
349
370
|
var initPromise = initInvoke.Run();
|
|
350
371
|
await initPromise;
|
|
351
372
|
|
|
373
|
+
if (!string.IsNullOrEmpty(latestLoginError))
|
|
374
|
+
{
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
|
|
352
378
|
await Refresh();
|
|
353
379
|
}
|
|
354
380
|
|
|
@@ -135,12 +135,12 @@ namespace Beamable.Editor.BeamCli
|
|
|
135
135
|
_serverCommand = null;
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
public
|
|
138
|
+
public Promise InvalidateServer(Exception cause)
|
|
139
139
|
{
|
|
140
140
|
// Marshal back to the editor coroutine thread — port, _serverCommand,
|
|
141
141
|
// and discoveryRequest are all touched by ServerDiscoveryLoop and
|
|
142
142
|
// shouldn't race with an async continuation.
|
|
143
|
-
dispatcher.Schedule(() =>
|
|
143
|
+
var jobId = dispatcher.Schedule(() =>
|
|
144
144
|
{
|
|
145
145
|
_history.AddServerEvent(
|
|
146
146
|
$"Server invalidated: {cause.GetType().Name}: {cause.Message}");
|
|
@@ -149,6 +149,8 @@ namespace Beamable.Editor.BeamCli
|
|
|
149
149
|
port = _options.startPortOverride.GetOrElse(8432);
|
|
150
150
|
discoveryRequest++;
|
|
151
151
|
});
|
|
152
|
+
|
|
153
|
+
return dispatcher.WaitForJobIds(new List<long> { jobId });
|
|
152
154
|
}
|
|
153
155
|
|
|
154
156
|
public string GetServerProcess()
|
|
@@ -379,6 +381,7 @@ namespace Beamable.Editor.BeamCli
|
|
|
379
381
|
private CancellationTokenSource _cts;
|
|
380
382
|
private BeamWebCliCommandHistory _history;
|
|
381
383
|
private Promise _runPromise;
|
|
384
|
+
private const int MaxPreResponseTransportRetries = 2;
|
|
382
385
|
|
|
383
386
|
public BeamWebCommand(BeamWebCommandFactory factory, BeamWebCliCommandHistory history)
|
|
384
387
|
{
|
|
@@ -406,6 +409,33 @@ namespace Beamable.Editor.BeamCli
|
|
|
406
409
|
{
|
|
407
410
|
_history.UpdateResolvingHostTime(id);
|
|
408
411
|
|
|
412
|
+
for (var attempt = 0;; attempt++)
|
|
413
|
+
{
|
|
414
|
+
try
|
|
415
|
+
{
|
|
416
|
+
await RunHttpRequestOnce();
|
|
417
|
+
return;
|
|
418
|
+
}
|
|
419
|
+
catch (PreResponseTransportException ex) when (attempt < MaxPreResponseTransportRetries)
|
|
420
|
+
{
|
|
421
|
+
if (attempt == 0)
|
|
422
|
+
{
|
|
423
|
+
_history.AddCustomLog(id,
|
|
424
|
+
$"[Unity] local CLI transport failed before response; confirming server before retry. attempt=[{attempt + 1}]");
|
|
425
|
+
await _factory.EnsureServerIsRunning();
|
|
426
|
+
}
|
|
427
|
+
else
|
|
428
|
+
{
|
|
429
|
+
_history.AddCustomLog(id,
|
|
430
|
+
$"[Unity] local CLI transport failed before response; invalidating server before retry. attempt=[{attempt + 1}]");
|
|
431
|
+
await _factory.InvalidateServer(ex.InnerException ?? ex);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
private async Promise RunHttpRequestOnce()
|
|
438
|
+
{
|
|
409
439
|
await _factory.EnsureServerIsRunning();
|
|
410
440
|
|
|
411
441
|
_history.UpdateStartTime(id, _factory.ExecuteUrl);
|
|
@@ -417,6 +447,7 @@ namespace Beamable.Editor.BeamCli
|
|
|
417
447
|
CliLogger.Log("Sending cli web request, " + json);
|
|
418
448
|
var dispatchedIds = new List<long>();
|
|
419
449
|
var p = new Promise();
|
|
450
|
+
var responseStarted = false;
|
|
420
451
|
|
|
421
452
|
try
|
|
422
453
|
{
|
|
@@ -430,6 +461,7 @@ namespace Beamable.Editor.BeamCli
|
|
|
430
461
|
_history.AddCustomLog(id, "[Unity] sent request...");
|
|
431
462
|
|
|
432
463
|
using HttpResponseMessage response = await sendTask;
|
|
464
|
+
responseStarted = true;
|
|
433
465
|
_history.AddCustomLog(id, "[Unity] opened response...");
|
|
434
466
|
|
|
435
467
|
using Stream streamToReadFrom = await response.Content.ReadAsStreamAsync();
|
|
@@ -486,17 +518,9 @@ namespace Beamable.Editor.BeamCli
|
|
|
486
518
|
}
|
|
487
519
|
|
|
488
520
|
}
|
|
489
|
-
catch (Exception ex) when (
|
|
490
|
-
(IsTransportFailure(ex) || ex is OperationCanceledException)
|
|
491
|
-
&& !_cts.IsCancellationRequested)
|
|
521
|
+
catch (Exception ex) when (IsRecoverableLocalTransportFailure(ex) && !responseStarted)
|
|
492
522
|
{
|
|
493
|
-
|
|
494
|
-
// (server died, port stale, half-closed socket). Mono surfaces
|
|
495
|
-
// some of these as TaskCanceledException even though the token
|
|
496
|
-
// wasn't tripped \u2014 treat them as transport failures and force
|
|
497
|
-
// rediscovery before we keep hammering a dead endpoint.
|
|
498
|
-
_factory.InvalidateServer(ex);
|
|
499
|
-
throw;
|
|
523
|
+
throw new PreResponseTransportException(ex);
|
|
500
524
|
}
|
|
501
525
|
finally
|
|
502
526
|
{
|
|
@@ -530,6 +554,20 @@ namespace Beamable.Editor.BeamCli
|
|
|
530
554
|
|| ex is IOException;
|
|
531
555
|
}
|
|
532
556
|
|
|
557
|
+
private bool IsRecoverableLocalTransportFailure(Exception ex)
|
|
558
|
+
{
|
|
559
|
+
return !_cts.IsCancellationRequested &&
|
|
560
|
+
(IsTransportFailure(ex) || ex is OperationCanceledException);
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
private class PreResponseTransportException : Exception
|
|
564
|
+
{
|
|
565
|
+
public PreResponseTransportException(Exception innerException)
|
|
566
|
+
: base(innerException.Message, innerException)
|
|
567
|
+
{
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
|
|
533
571
|
public IBeamCommand On<T>(Func<ReportDataPointDescription, bool> predicate, Action<ReportDataPoint<T>> cb)
|
|
534
572
|
{
|
|
535
573
|
On(desc =>
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
|
|
2
|
+
namespace Beamable.Editor.BeamCli.Commands
|
|
3
|
+
{
|
|
4
|
+
using Beamable.Common;
|
|
5
|
+
using Beamable.Common.BeamCli;
|
|
6
|
+
|
|
7
|
+
public partial class PortalExtensionAddLibraryArgs : Beamable.Common.BeamCli.IBeamCommandArgs
|
|
8
|
+
{
|
|
9
|
+
/// <summary>The shared library that will be a new dependency of the specified Portal Extensions</summary>
|
|
10
|
+
public string library;
|
|
11
|
+
/// <summary>The list of Portal Extension names that the library will be added to (separated by whitespace)</summary>
|
|
12
|
+
public string[] extensions;
|
|
13
|
+
/// <summary>Serializes the arguments for command line usage.</summary>
|
|
14
|
+
public virtual string Serialize()
|
|
15
|
+
{
|
|
16
|
+
// Create a list of arguments for the command
|
|
17
|
+
System.Collections.Generic.List<string> genBeamCommandArgs = new System.Collections.Generic.List<string>();
|
|
18
|
+
// Add the library value to the list of args.
|
|
19
|
+
genBeamCommandArgs.Add(this.library.ToString());
|
|
20
|
+
// If the extensions value was not default, then add it to the list of args.
|
|
21
|
+
if ((this.extensions != default(string[])))
|
|
22
|
+
{
|
|
23
|
+
for (int i = 0; (i < this.extensions.Length); i = (i + 1))
|
|
24
|
+
{
|
|
25
|
+
// The parameter allows multiple values
|
|
26
|
+
genBeamCommandArgs.Add(("--extensions=" + this.extensions[i]));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
string genBeamCommandStr = "";
|
|
30
|
+
// Join all the args with spaces
|
|
31
|
+
genBeamCommandStr = string.Join(" ", genBeamCommandArgs);
|
|
32
|
+
return genBeamCommandStr;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
public partial class BeamCommands
|
|
36
|
+
{
|
|
37
|
+
public virtual PortalExtensionAddLibraryWrapper PortalExtensionAddLibrary(PortalExtensionAddLibraryArgs addLibraryArgs)
|
|
38
|
+
{
|
|
39
|
+
// Create a list of arguments for the command
|
|
40
|
+
System.Collections.Generic.List<string> genBeamCommandArgs = new System.Collections.Generic.List<string>();
|
|
41
|
+
genBeamCommandArgs.Add("beam");
|
|
42
|
+
genBeamCommandArgs.Add(defaultBeamArgs.Serialize());
|
|
43
|
+
genBeamCommandArgs.Add("portal");
|
|
44
|
+
genBeamCommandArgs.Add("extension");
|
|
45
|
+
genBeamCommandArgs.Add("add-library");
|
|
46
|
+
genBeamCommandArgs.Add(addLibraryArgs.Serialize());
|
|
47
|
+
// Create an instance of an IBeamCommand
|
|
48
|
+
Beamable.Common.BeamCli.IBeamCommand command = this._factory.Create();
|
|
49
|
+
// Join all the command paths and args into one string
|
|
50
|
+
string genBeamCommandStr = string.Join(" ", genBeamCommandArgs);
|
|
51
|
+
// Configure the command with the command string
|
|
52
|
+
command.SetCommand(genBeamCommandStr);
|
|
53
|
+
PortalExtensionAddLibraryWrapper genBeamCommandWrapper = new PortalExtensionAddLibraryWrapper();
|
|
54
|
+
genBeamCommandWrapper.Command = command;
|
|
55
|
+
// Return the command!
|
|
56
|
+
return genBeamCommandWrapper;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
public partial class PortalExtensionAddLibraryWrapper : Beamable.Common.BeamCli.BeamCommandWrapper
|
|
60
|
+
{
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
|
|
2
|
+
namespace Beamable.Editor.BeamCli.Commands
|
|
3
|
+
{
|
|
4
|
+
using Beamable.Common;
|
|
5
|
+
using Beamable.Common.BeamCli;
|
|
6
|
+
|
|
7
|
+
public partial class ProjectNewPortalExtensionLibArgs : Beamable.Common.BeamCli.IBeamCommandArgs
|
|
8
|
+
{
|
|
9
|
+
/// <summary>Name of the new project</summary>
|
|
10
|
+
public Beamable.Common.Semantics.ServiceName name;
|
|
11
|
+
/// <summary>Relative path to the .sln file to use for the new project. If the .sln file does not exist, it will be created. When no option is configured, if this command is executing inside a .beamable folder, then the first .sln found in .beamable/.. will be used. If no .sln is found, the .sln path will be <name>.sln. If no .beamable folder exists, then the <project>/<project>.sln will be used</summary>
|
|
12
|
+
public string sln;
|
|
13
|
+
/// <summary>Relative path to directory where project should be created. Defaults to "SOLUTION_DIR/services"</summary>
|
|
14
|
+
public string serviceDirectory;
|
|
15
|
+
/// <summary>Serializes the arguments for command line usage.</summary>
|
|
16
|
+
public virtual string Serialize()
|
|
17
|
+
{
|
|
18
|
+
// Create a list of arguments for the command
|
|
19
|
+
System.Collections.Generic.List<string> genBeamCommandArgs = new System.Collections.Generic.List<string>();
|
|
20
|
+
// Add the name value to the list of args.
|
|
21
|
+
genBeamCommandArgs.Add(this.name.ToString());
|
|
22
|
+
// If the sln value was not default, then add it to the list of args.
|
|
23
|
+
if ((this.sln != default(string)))
|
|
24
|
+
{
|
|
25
|
+
genBeamCommandArgs.Add(("--sln=" + this.sln));
|
|
26
|
+
}
|
|
27
|
+
// If the serviceDirectory value was not default, then add it to the list of args.
|
|
28
|
+
if ((this.serviceDirectory != default(string)))
|
|
29
|
+
{
|
|
30
|
+
genBeamCommandArgs.Add(("--service-directory=" + this.serviceDirectory));
|
|
31
|
+
}
|
|
32
|
+
string genBeamCommandStr = "";
|
|
33
|
+
// Join all the args with spaces
|
|
34
|
+
genBeamCommandStr = string.Join(" ", genBeamCommandArgs);
|
|
35
|
+
return genBeamCommandStr;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
public partial class BeamCommands
|
|
39
|
+
{
|
|
40
|
+
public virtual ProjectNewPortalExtensionLibWrapper ProjectNewPortalExtensionLib(ProjectNewPortalExtensionLibArgs portalExtensionLibArgs)
|
|
41
|
+
{
|
|
42
|
+
// Create a list of arguments for the command
|
|
43
|
+
System.Collections.Generic.List<string> genBeamCommandArgs = new System.Collections.Generic.List<string>();
|
|
44
|
+
genBeamCommandArgs.Add("beam");
|
|
45
|
+
genBeamCommandArgs.Add(defaultBeamArgs.Serialize());
|
|
46
|
+
genBeamCommandArgs.Add("project");
|
|
47
|
+
genBeamCommandArgs.Add("new");
|
|
48
|
+
genBeamCommandArgs.Add("portal-extension-lib");
|
|
49
|
+
genBeamCommandArgs.Add(portalExtensionLibArgs.Serialize());
|
|
50
|
+
// Create an instance of an IBeamCommand
|
|
51
|
+
Beamable.Common.BeamCli.IBeamCommand command = this._factory.Create();
|
|
52
|
+
// Join all the command paths and args into one string
|
|
53
|
+
string genBeamCommandStr = string.Join(" ", genBeamCommandArgs);
|
|
54
|
+
// Configure the command with the command string
|
|
55
|
+
command.SetCommand(genBeamCommandStr);
|
|
56
|
+
ProjectNewPortalExtensionLibWrapper genBeamCommandWrapper = new ProjectNewPortalExtensionLibWrapper();
|
|
57
|
+
genBeamCommandWrapper.Command = command;
|
|
58
|
+
// Return the command!
|
|
59
|
+
return genBeamCommandWrapper;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
public partial class ProjectNewPortalExtensionLibWrapper : Beamable.Common.BeamCli.BeamCommandWrapper
|
|
63
|
+
{
|
|
64
|
+
}
|
|
65
|
+
}
|
package/Editor/BeamEditor.cs
CHANGED
|
@@ -629,19 +629,41 @@ namespace Beamable
|
|
|
629
629
|
await BeamCli.Login(host, cid, email, password);
|
|
630
630
|
ApplyRequesterToken();
|
|
631
631
|
OnUserChange?.Invoke(BeamCli.latestUser);
|
|
632
|
-
|
|
633
|
-
|
|
632
|
+
// When the account has exactly one game, there is no game-selection step.
|
|
633
|
+
// Use that game's production/root PID as the first-run build PID. Multi-game
|
|
634
|
+
// accounts wait for the user to choose a game/realm before we write build config.
|
|
635
|
+
if (BeamCli.latestGames?.VisibleGames?.Length == 1)
|
|
634
636
|
{
|
|
635
|
-
|
|
637
|
+
var productionPid = BeamCli.latestGames.VisibleGames[0].Pid;
|
|
638
|
+
CommitProductionBuildConfigDefaultsIfMissing(productionPid);
|
|
636
639
|
}
|
|
637
640
|
}
|
|
638
641
|
|
|
639
|
-
public void
|
|
642
|
+
public void CommitProductionBuildConfigDefaultsIfMissing(string productionPid = null)
|
|
643
|
+
{
|
|
644
|
+
var config = ServiceScope.GetService<ConfigDatabaseProvider>();
|
|
645
|
+
config.Reload();
|
|
646
|
+
|
|
647
|
+
if (!string.IsNullOrEmpty(config.Pid))
|
|
648
|
+
{
|
|
649
|
+
return;
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
productionPid ??= BeamCli.CurrentRealm?.FindRoot()?.Pid;
|
|
653
|
+
if (string.IsNullOrEmpty(productionPid))
|
|
654
|
+
{
|
|
655
|
+
return;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
CommitConfigDefaults(productionPid);
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
public void CommitConfigDefaults(string pidOverride = null)
|
|
640
662
|
{
|
|
641
663
|
var config = new ConfigData()
|
|
642
664
|
{
|
|
643
665
|
cid = BeamCli.Cid,
|
|
644
|
-
pid = BeamCli.Pid,
|
|
666
|
+
pid = pidOverride ?? BeamCli.Pid,
|
|
645
667
|
alias = BeamCli.Alias,
|
|
646
668
|
host = BeamCli.HostUrl,
|
|
647
669
|
portalUrl = BeamCli.PortalUrl
|
|
@@ -663,13 +685,14 @@ namespace Beamable
|
|
|
663
685
|
|
|
664
686
|
if (writeConfig)
|
|
665
687
|
{
|
|
688
|
+
var wasNewConfigFile = !File.Exists(path);
|
|
666
689
|
string directoryName = Path.GetDirectoryName(path);
|
|
667
690
|
if (!string.IsNullOrWhiteSpace(directoryName))
|
|
668
691
|
{
|
|
669
692
|
Directory.CreateDirectory(directoryName);
|
|
670
693
|
}
|
|
671
694
|
|
|
672
|
-
if (
|
|
695
|
+
if (!wasNewConfigFile)
|
|
673
696
|
{
|
|
674
697
|
var fileInfo = new FileInfo(path);
|
|
675
698
|
fileInfo.IsReadOnly = false;
|
|
@@ -684,8 +707,30 @@ namespace Beamable
|
|
|
684
707
|
Debug.LogWarning($"Unable to checkout: {path}");
|
|
685
708
|
}
|
|
686
709
|
}
|
|
687
|
-
|
|
710
|
+
|
|
688
711
|
File.WriteAllText(path, asJson);
|
|
712
|
+
if (wasNewConfigFile)
|
|
713
|
+
{
|
|
714
|
+
// Import synchronously so Unity's AssetDatabase can see the newly-created
|
|
715
|
+
// Resources asset before callers continue. This matters for first-run setup,
|
|
716
|
+
// where config-defaults.txt may not have existed a moment earlier.
|
|
717
|
+
AssetDatabase.ImportAsset(path, ImportAssetOptions.ForceSynchronousImport | ImportAssetOptions.ForceUpdate);
|
|
718
|
+
|
|
719
|
+
// ImportAsset can still fail to resolve the asset immediately in some editor
|
|
720
|
+
// timing cases, so fall back to a synchronous refresh before reloading config.
|
|
721
|
+
if (AssetDatabase.LoadAssetAtPath<TextAsset>(path) == null)
|
|
722
|
+
{
|
|
723
|
+
AssetDatabase.Refresh(ImportAssetOptions.ForceSynchronousImport);
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
// Keep the Project window in sync for editor-driven writes, but avoid repainting
|
|
727
|
+
// editor UI while Unity is in the build pipeline.
|
|
728
|
+
if (!BuildPipeline.isBuildingPlayer)
|
|
729
|
+
{
|
|
730
|
+
EditorApplication.RepaintProjectWindow();
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
|
|
689
734
|
ServiceScope.GetService<ConfigDatabaseProvider>().Reload();
|
|
690
735
|
}
|
|
691
736
|
}
|
|
@@ -86,7 +86,8 @@ namespace Beamable.Editor.ToolbarExtender
|
|
|
86
86
|
});
|
|
87
87
|
if(!sameEditorAndBuildPids)
|
|
88
88
|
{
|
|
89
|
-
menu.AddItem(new GUIContent(rootDisplay.text + "/Save to config-defaults"), false,
|
|
89
|
+
menu.AddItem(new GUIContent(rootDisplay.text + "/Save to config-defaults"), false,
|
|
90
|
+
() => editor.CommitConfigDefaults());
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
}
|
|
@@ -10,6 +10,8 @@ namespace Beamable.Editor.Accounts
|
|
|
10
10
|
{
|
|
11
11
|
public partial class AccountWindow
|
|
12
12
|
{
|
|
13
|
+
private bool _isSelectingRealm;
|
|
14
|
+
|
|
13
15
|
public bool needsGameSelection;
|
|
14
16
|
public int gameSelectionIndex = 0;
|
|
15
17
|
public int realmSelectionIndex = 0;
|
|
@@ -104,14 +106,28 @@ namespace Beamable.Editor.Accounts
|
|
|
104
106
|
EditorGUILayout.Space(24);
|
|
105
107
|
|
|
106
108
|
{
|
|
107
|
-
GUI.enabled = realmSelectionIndex >= 0;
|
|
109
|
+
GUI.enabled = realmSelectionIndex >= 0 && !_isSelectingRealm;
|
|
108
110
|
var wasClicked = BeamGUI.PrimaryButton(new GUIContent("Continue"), allowEnterKeyToClick: true);
|
|
109
111
|
GUI.enabled = true;
|
|
110
112
|
|
|
111
113
|
if (wasClicked)
|
|
112
114
|
{
|
|
113
|
-
|
|
114
|
-
|
|
115
|
+
_isSelectingRealm = true;
|
|
116
|
+
|
|
117
|
+
var selectedPid = availableRealms[realmSelectionIndex].Pid;
|
|
118
|
+
var switchPromise = context.SwitchRealm(selectedPid);
|
|
119
|
+
switchPromise.Then(_ =>
|
|
120
|
+
{
|
|
121
|
+
context.CommitProductionBuildConfigDefaultsIfMissing();
|
|
122
|
+
needsGameSelection = false;
|
|
123
|
+
_isSelectingRealm = false;
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
switchPromise.Error(ex =>
|
|
127
|
+
{
|
|
128
|
+
_isSelectingRealm = false;
|
|
129
|
+
Debug.LogError($"[AccountWindow_Games] Failed to switch realm: {ex}");
|
|
130
|
+
});
|
|
115
131
|
}
|
|
116
132
|
}
|
|
117
133
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
using Beamable.Common.Api.Realms;
|
|
1
2
|
using Beamable.Config;
|
|
2
3
|
using Beamable.Editor.BeamCli;
|
|
3
4
|
using Beamable.Editor.Content;
|
|
@@ -70,13 +71,13 @@ namespace Beamable.Editor.Accounts
|
|
|
70
71
|
RenderLabel("Runtime Cid", config.Cid, "No value set");
|
|
71
72
|
|
|
72
73
|
var realmDisplay = config.Pid;
|
|
73
|
-
if (cli.pidToRealm.TryGetValue(config.Pid, out
|
|
74
|
+
if (!string.IsNullOrEmpty(config.Pid) && cli.pidToRealm.TryGetValue(config.Pid, out RealmView realm))
|
|
74
75
|
{
|
|
75
76
|
realmDisplay = realm.GetDisplayName();
|
|
76
77
|
}
|
|
77
78
|
RenderLabel("Runtime Realm", realmDisplay, "No value set");
|
|
78
79
|
|
|
79
|
-
|
|
80
|
+
var missingRuntimeFields = new List<string>();
|
|
80
81
|
if (string.IsNullOrEmpty(config.HostUrl))
|
|
81
82
|
{
|
|
82
83
|
missingRuntimeFields.Add("host");
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
{
|
|
2
|
-
"environment": "
|
|
1
|
+
{
|
|
2
|
+
"environment": "prod",
|
|
3
3
|
"apiUrl": "https://api.beamable.com",
|
|
4
4
|
"portalUrl": "https://portal.beamable.com",
|
|
5
5
|
"beamMongoExpressUrl": "https://storage.beamable.com",
|
|
6
6
|
"dockerRegistryUrl": "https://microservices.beamable.com/v2/",
|
|
7
7
|
"isUnityVsp": "false",
|
|
8
|
-
"sdkVersion": "5.1.0
|
|
8
|
+
"sdkVersion": "5.1.0"
|
|
9
9
|
}
|