// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Lobby { public sealed partial class LobbyModification : Handle { public LobbyModification() { } public LobbyModification(System.IntPtr innerHandle) : base(innerHandle) { } /// /// The most recent version of the API. /// public const int LobbymodificationAddattributeApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbymodificationAddmemberattributeApiLatest = 1; /// /// Maximum length of the name of the attribute associated with the lobby /// public const int LobbymodificationMaxAttributeLength = 64; /// /// Maximum number of attributes allowed on the lobby /// public const int LobbymodificationMaxAttributes = 64; /// /// The most recent version of the API. /// public const int LobbymodificationRemoveattributeApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbymodificationRemovememberattributeApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbymodificationSetbucketidApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbymodificationSetinvitesallowedApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbymodificationSetmaxmembersApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbymodificationSetpermissionlevelApiLatest = 1; /// /// Associate an attribute with this lobby /// An attribute is something may be public or private with the lobby. /// If public, it can be queried for in a search, otherwise the data remains known only to lobby members /// /// Options to set the attribute and its visibility state /// /// if setting this parameter was successful /// if the attribute is missing information or otherwise invalid /// if the API version passed in is incorrect /// public Result AddAttribute(ref LobbyModificationAddAttributeOptions options) { LobbyModificationAddAttributeOptionsInternal optionsInternal = new LobbyModificationAddAttributeOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_LobbyModification_AddAttribute(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); return funcResult; } /// /// Associate an attribute with a member of the lobby /// Lobby member data is always private to the lobby /// /// Options to set the attribute and its visibility state /// /// if setting this parameter was successful /// if the attribute is missing information or otherwise invalid /// if the API version passed in is incorrect /// public Result AddMemberAttribute(ref LobbyModificationAddMemberAttributeOptions options) { LobbyModificationAddMemberAttributeOptionsInternal optionsInternal = new LobbyModificationAddMemberAttributeOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_LobbyModification_AddMemberAttribute(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); return funcResult; } public void Release() { Bindings.EOS_LobbyModification_Release(InnerHandle); } /// /// Remove an attribute associated with the lobby /// /// Specify the key of the attribute to remove /// /// if removing this parameter was successful /// if the key is null or empty /// if the API version passed in is incorrect /// public Result RemoveAttribute(ref LobbyModificationRemoveAttributeOptions options) { LobbyModificationRemoveAttributeOptionsInternal optionsInternal = new LobbyModificationRemoveAttributeOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_LobbyModification_RemoveAttribute(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); return funcResult; } /// /// Remove an attribute associated with of member of the lobby /// /// Specify the key of the member attribute to remove /// /// if removing this parameter was successful /// if the key is null or empty /// if the API version passed in is incorrect /// public Result RemoveMemberAttribute(ref LobbyModificationRemoveMemberAttributeOptions options) { LobbyModificationRemoveMemberAttributeOptionsInternal optionsInternal = new LobbyModificationRemoveMemberAttributeOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_LobbyModification_RemoveMemberAttribute(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); return funcResult; } /// /// Set the bucket ID associated with this lobby. /// Values such as region, game mode, etc can be combined here depending on game need. /// Setting this is strongly recommended to improve search performance. /// /// Options associated with the bucket ID of the lobby /// /// if setting this parameter was successful /// if the bucket ID is invalid or null /// if the API version passed in is incorrect /// public Result SetBucketId(ref LobbyModificationSetBucketIdOptions options) { LobbyModificationSetBucketIdOptionsInternal optionsInternal = new LobbyModificationSetBucketIdOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_LobbyModification_SetBucketId(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); return funcResult; } /// /// Allows enabling or disabling invites for this lobby. /// The lobby will also need to have `bPresenceEnabled` true. /// /// Options associated with invites allowed flag for this lobby. /// /// if setting this parameter was successful /// if the API version passed in is incorrect /// public Result SetInvitesAllowed(ref LobbyModificationSetInvitesAllowedOptions options) { LobbyModificationSetInvitesAllowedOptionsInternal optionsInternal = new LobbyModificationSetInvitesAllowedOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_LobbyModification_SetInvitesAllowed(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); return funcResult; } /// /// Set the maximum number of members allowed in this lobby. /// When updating the lobby, it is not possible to reduce this number below the current number of existing members /// /// Options associated with max number of members in this lobby /// /// if setting this parameter was successful /// if the API version passed in is incorrect /// public Result SetMaxMembers(ref LobbyModificationSetMaxMembersOptions options) { LobbyModificationSetMaxMembersOptionsInternal optionsInternal = new LobbyModificationSetMaxMembersOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_LobbyModification_SetMaxMembers(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); return funcResult; } /// /// Set the permissions associated with this lobby. /// The permissions range from "public" to "invite only" and are described by /// /// Options associated with the permission level of the lobby /// /// if setting this parameter was successful /// if the API version passed in is incorrect /// public Result SetPermissionLevel(ref LobbyModificationSetPermissionLevelOptions options) { LobbyModificationSetPermissionLevelOptionsInternal optionsInternal = new LobbyModificationSetPermissionLevelOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_LobbyModification_SetPermissionLevel(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); return funcResult; } } }