// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Sessions { /// /// Common settings associated with a single session /// public class SessionDetailsSettings : ISettable { /// /// The main indexed parameter for this session, can be any string (ie "Region:GameMode") /// public string BucketId { get; set; } /// /// Number of total players allowed in the session /// public uint NumPublicConnections { get; set; } /// /// Are players allowed to join the session while it is in the "in progress" state /// public bool AllowJoinInProgress { get; set; } /// /// Permission level describing allowed access to the session when joining or searching for the session /// public OnlineSessionPermissionLevel PermissionLevel { get; set; } /// /// Are players allowed to send invites for the session /// public bool InvitesAllowed { get; set; } internal void Set(SessionDetailsSettingsInternal? other) { if (other != null) { BucketId = other.Value.BucketId; NumPublicConnections = other.Value.NumPublicConnections; AllowJoinInProgress = other.Value.AllowJoinInProgress; PermissionLevel = other.Value.PermissionLevel; InvitesAllowed = other.Value.InvitesAllowed; } } public void Set(object other) { Set(other as SessionDetailsSettingsInternal?); } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct SessionDetailsSettingsInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_BucketId; private uint m_NumPublicConnections; private int m_AllowJoinInProgress; private OnlineSessionPermissionLevel m_PermissionLevel; private int m_InvitesAllowed; public string BucketId { get { string value; Helper.TryMarshalGet(m_BucketId, out value); return value; } set { Helper.TryMarshalSet(ref m_BucketId, value); } } public uint NumPublicConnections { get { return m_NumPublicConnections; } set { m_NumPublicConnections = value; } } public bool AllowJoinInProgress { get { bool value; Helper.TryMarshalGet(m_AllowJoinInProgress, out value); return value; } set { Helper.TryMarshalSet(ref m_AllowJoinInProgress, value); } } public OnlineSessionPermissionLevel PermissionLevel { get { return m_PermissionLevel; } set { m_PermissionLevel = value; } } public bool InvitesAllowed { get { bool value; Helper.TryMarshalGet(m_InvitesAllowed, out value); return value; } set { Helper.TryMarshalSet(ref m_InvitesAllowed, value); } } public void Set(SessionDetailsSettings other) { if (other != null) { m_ApiVersion = SessionDetails.SessiondetailsSettingsApiLatest; BucketId = other.BucketId; NumPublicConnections = other.NumPublicConnections; AllowJoinInProgress = other.AllowJoinInProgress; PermissionLevel = other.PermissionLevel; InvitesAllowed = other.InvitesAllowed; } } public void Set(object other) { Set(other as SessionDetailsSettings); } public void Dispose() { Helper.TryMarshalDispose(ref m_BucketId); } } }