You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

302 lines
6.3 KiB

// Copyright Epic Games, Inc. All Rights Reserved.
// This file is automatically generated. Changes to this file may be overwritten.
namespace Epic.OnlineServices.Lobby
{
public struct LobbyDetailsInfo
{
/// <summary>
/// Lobby ID
/// </summary>
public Utf8String LobbyId { get; set; }
/// <summary>
/// The Product User ID of the current owner of the lobby
/// </summary>
public ProductUserId LobbyOwnerUserId { get; set; }
/// <summary>
/// Permission level of the lobby
/// </summary>
public LobbyPermissionLevel PermissionLevel { get; set; }
/// <summary>
/// Current available space
/// </summary>
public uint AvailableSlots { get; set; }
/// <summary>
/// Max allowed members in the lobby
/// </summary>
public uint MaxMembers { get; set; }
/// <summary>
/// If true, users can invite others to this lobby
/// </summary>
public bool AllowInvites { get; set; }
/// <summary>
/// The main indexed parameter for this lobby, can be any string (i.e. "Region:GameMode")
/// </summary>
public Utf8String BucketId { get; set; }
/// <summary>
/// Is host migration allowed
/// </summary>
public bool AllowHostMigration { get; set; }
/// <summary>
/// Was a Real-Time Communication (RTC) room enabled at lobby creation?
/// </summary>
public bool RTCRoomEnabled { get; set; }
/// <summary>
/// Is <see cref="LobbyInterface.JoinLobbyById" /> allowed
/// </summary>
public bool AllowJoinById { get; set; }
/// <summary>
/// Does rejoining after being kicked require an invite
/// </summary>
public bool RejoinAfterKickRequiresInvite { get; set; }
internal void Set(ref LobbyDetailsInfoInternal other)
{
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;
AllowJoinById = other.AllowJoinById;
RejoinAfterKickRequiresInvite = other.RejoinAfterKickRequiresInvite;
}
}
[System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)]
internal struct LobbyDetailsInfoInternal : IGettable<LobbyDetailsInfo>, ISettable<LobbyDetailsInfo>, 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;
private int m_AllowJoinById;
private int m_RejoinAfterKickRequiresInvite;
public Utf8String LobbyId
{
get
{
Utf8String value;
Helper.Get(m_LobbyId, out value);
return value;
}
set
{
Helper.Set(value, ref m_LobbyId);
}
}
public ProductUserId LobbyOwnerUserId
{
get
{
ProductUserId value;
Helper.Get(m_LobbyOwnerUserId, out value);
return value;
}
set
{
Helper.Set(value, ref m_LobbyOwnerUserId);
}
}
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.Get(m_AllowInvites, out value);
return value;
}
set
{
Helper.Set(value, ref m_AllowInvites);
}
}
public Utf8String BucketId
{
get
{
Utf8String value;
Helper.Get(m_BucketId, out value);
return value;
}
set
{
Helper.Set(value, ref m_BucketId);
}
}
public bool AllowHostMigration
{
get
{
bool value;
Helper.Get(m_AllowHostMigration, out value);
return value;
}
set
{
Helper.Set(value, ref m_AllowHostMigration);
}
}
public bool RTCRoomEnabled
{
get
{
bool value;
Helper.Get(m_RTCRoomEnabled, out value);
return value;
}
set
{
Helper.Set(value, ref m_RTCRoomEnabled);
}
}
public bool AllowJoinById
{
get
{
bool value;
Helper.Get(m_AllowJoinById, out value);
return value;
}
set
{
Helper.Set(value, ref m_AllowJoinById);
}
}
public bool RejoinAfterKickRequiresInvite
{
get
{
bool value;
Helper.Get(m_RejoinAfterKickRequiresInvite, out value);
return value;
}
set
{
Helper.Set(value, ref m_RejoinAfterKickRequiresInvite);
}
}
public void Set(ref LobbyDetailsInfo other)
{
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;
AllowJoinById = other.AllowJoinById;
RejoinAfterKickRequiresInvite = other.RejoinAfterKickRequiresInvite;
}
public void Set(ref LobbyDetailsInfo? other)
{
if (other.HasValue)
{
m_ApiVersion = LobbyDetails.LobbydetailsInfoApiLatest;
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;
AllowJoinById = other.Value.AllowJoinById;
RejoinAfterKickRequiresInvite = other.Value.RejoinAfterKickRequiresInvite;
}
}
public void Dispose()
{
Helper.Dispose(ref m_LobbyId);
Helper.Dispose(ref m_LobbyOwnerUserId);
Helper.Dispose(ref m_BucketId);
}
public void Get(out LobbyDetailsInfo output)
{
output = new LobbyDetailsInfo();
output.Set(ref this);
}
}
}