// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Sessions { /// /// Input parameters for the function. /// public struct CreateSessionModificationOptions { /// /// Name of the session to create /// public Utf8String SessionName { get; set; } /// /// Bucket ID associated with the session /// public Utf8String BucketId { get; set; } /// /// Maximum number of players allowed in the session /// public uint MaxPlayers { get; set; } /// /// The Product User ID of the local user associated with the session /// public ProductUserId LocalUserId { get; set; } /// /// If true, this session will be associated with presence. Only one session at a time can have this flag true. /// This affects the ability of the Social Overlay to show game related actions to take in the user's social graph. /// The Social Overlay can handle only one of the following three options at a time: /// using the bPresenceEnabled flags within the Sessions interface /// using the bPresenceEnabled flags within the Lobby interface /// using EOS_PresenceModification_SetJoinInfo /// /// /// /// /// public bool PresenceEnabled { get; set; } /// /// Optional session id - set to a globally unique value to override the backend assignment /// If not specified the backend service will assign one to the session. Do not mix and match. /// This value can be of size [, ] /// public Utf8String SessionId { get; set; } /// /// If true, sanctioned players can neither join nor register with this session and, in the case of join, /// will return code /// public bool SanctionsEnabled { get; set; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct CreateSessionModificationOptionsInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_SessionName; private System.IntPtr m_BucketId; private uint m_MaxPlayers; private System.IntPtr m_LocalUserId; private int m_PresenceEnabled; private System.IntPtr m_SessionId; private int m_SanctionsEnabled; public Utf8String SessionName { set { Helper.Set(value, ref m_SessionName); } } public Utf8String BucketId { set { Helper.Set(value, ref m_BucketId); } } public uint MaxPlayers { set { m_MaxPlayers = value; } } public ProductUserId LocalUserId { set { Helper.Set(value, ref m_LocalUserId); } } public bool PresenceEnabled { set { Helper.Set(value, ref m_PresenceEnabled); } } public Utf8String SessionId { set { Helper.Set(value, ref m_SessionId); } } public bool SanctionsEnabled { set { Helper.Set(value, ref m_SanctionsEnabled); } } public void Set(ref CreateSessionModificationOptions other) { m_ApiVersion = SessionsInterface.CreatesessionmodificationApiLatest; SessionName = other.SessionName; BucketId = other.BucketId; MaxPlayers = other.MaxPlayers; LocalUserId = other.LocalUserId; PresenceEnabled = other.PresenceEnabled; SessionId = other.SessionId; SanctionsEnabled = other.SanctionsEnabled; } public void Set(ref CreateSessionModificationOptions? other) { if (other.HasValue) { m_ApiVersion = SessionsInterface.CreatesessionmodificationApiLatest; SessionName = other.Value.SessionName; BucketId = other.Value.BucketId; MaxPlayers = other.Value.MaxPlayers; LocalUserId = other.Value.LocalUserId; PresenceEnabled = other.Value.PresenceEnabled; SessionId = other.Value.SessionId; SanctionsEnabled = other.Value.SanctionsEnabled; } } public void Dispose() { Helper.Dispose(ref m_SessionName); Helper.Dispose(ref m_BucketId); Helper.Dispose(ref m_LocalUserId); Helper.Dispose(ref m_SessionId); } } }