// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Lobby { public class LobbyDetailsInfo : ISettable { /// /// Lobby ID /// public string LobbyId { get; set; } /// /// The Product User ID of the current owner of the lobby /// public ProductUserId LobbyOwnerUserId { get; set; } /// /// Permission level of the lobby /// public LobbyPermissionLevel PermissionLevel { get; set; } /// /// Current available space /// public uint AvailableSlots { get; set; } /// /// Max allowed members in the lobby /// public uint MaxMembers { get; set; } /// /// If true, users can invite others to this lobby /// public bool AllowInvites { get; set; } /// /// The main indexed parameter for this lobby, can be any string (ie "Region:GameMode") /// public string BucketId { get; set; } /// /// Is host migration allowed /// public bool AllowHostMigration { get; set; } /// /// Was a Real-Time Communication (RTC) room enabled at lobby creation? /// public bool RTCRoomEnabled { get; set; } internal void Set(LobbyDetailsInfoInternal? other) { if (other != null) { LobbyId = other.Value.LobbyId; LobbyOwnerUserId = other.Value.LobbyOwnerUserId; PermissionLevel = other.Value.PermissionLevel; AvailableSlots = other.Value.AvailableSlots; MaxMembers = other.Value.MaxMembers; AllowInvites = other.Value.AllowInvites; BucketId = other.Value.BucketId; AllowHostMigration = other.Value.AllowHostMigration; RTCRoomEnabled = other.Value.RTCRoomEnabled; } } public void Set(object other) { Set(other as LobbyDetailsInfoInternal?); } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct LobbyDetailsInfoInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_LobbyId; private System.IntPtr m_LobbyOwnerUserId; private LobbyPermissionLevel m_PermissionLevel; private uint m_AvailableSlots; private uint m_MaxMembers; private int m_AllowInvites; private System.IntPtr m_BucketId; private int m_AllowHostMigration; private int m_RTCRoomEnabled; public string LobbyId { get { string value; Helper.TryMarshalGet(m_LobbyId, out value); return value; } set { Helper.TryMarshalSet(ref m_LobbyId, value); } } public ProductUserId LobbyOwnerUserId { get { ProductUserId value; Helper.TryMarshalGet(m_LobbyOwnerUserId, out value); return value; } set { Helper.TryMarshalSet(ref m_LobbyOwnerUserId, value); } } public LobbyPermissionLevel PermissionLevel { get { return m_PermissionLevel; } set { m_PermissionLevel = value; } } public uint AvailableSlots { get { return m_AvailableSlots; } set { m_AvailableSlots = value; } } public uint MaxMembers { get { return m_MaxMembers; } set { m_MaxMembers = value; } } public bool AllowInvites { get { bool value; Helper.TryMarshalGet(m_AllowInvites, out value); return value; } set { Helper.TryMarshalSet(ref m_AllowInvites, value); } } public string BucketId { get { string value; Helper.TryMarshalGet(m_BucketId, out value); return value; } set { Helper.TryMarshalSet(ref m_BucketId, value); } } public bool AllowHostMigration { get { bool value; Helper.TryMarshalGet(m_AllowHostMigration, out value); return value; } set { Helper.TryMarshalSet(ref m_AllowHostMigration, value); } } public bool RTCRoomEnabled { get { bool value; Helper.TryMarshalGet(m_RTCRoomEnabled, out value); return value; } set { Helper.TryMarshalSet(ref m_RTCRoomEnabled, value); } } public void Set(LobbyDetailsInfo other) { if (other != null) { m_ApiVersion = LobbyDetails.LobbydetailsInfoApiLatest; LobbyId = other.LobbyId; LobbyOwnerUserId = other.LobbyOwnerUserId; PermissionLevel = other.PermissionLevel; AvailableSlots = other.AvailableSlots; MaxMembers = other.MaxMembers; AllowInvites = other.AllowInvites; BucketId = other.BucketId; AllowHostMigration = other.AllowHostMigration; RTCRoomEnabled = other.RTCRoomEnabled; } } public void Set(object other) { Set(other as LobbyDetailsInfo); } public void Dispose() { Helper.TryMarshalDispose(ref m_LobbyId); Helper.TryMarshalDispose(ref m_LobbyOwnerUserId); Helper.TryMarshalDispose(ref m_BucketId); } } }