public void Set(SetPresenceOptions other) { if (other != null) { m_ApiVersion = PresenceInterface.SetpresenceApiLatest; LocalUserId = other.LocalUserId; PresenceModificationHandle = other.PresenceModificationHandle; } }
/// <summary> /// Creates a presence modification handle. This handle can used to add multiple changes to your presence that can be applied with <see cref="SetPresence" />. /// The resulting handle must be released by calling <see cref="PresenceModification.Release" /> once it has been passed to <see cref="SetPresence" />. /// <seealso cref="PresenceModification.Release" /> /// <seealso cref="SetPresence" /> /// <seealso cref="PresenceModification.SetStatus" /> /// <seealso cref="PresenceModification.SetRawRichText" /> /// <seealso cref="PresenceModification.SetData" /> /// <seealso cref="PresenceModification.DeleteData" /> /// </summary> /// <param name="options">Object containing properties related to the user modifying their presence</param> /// <param name="outPresenceModificationHandle">Pointer to a Presence Modification Handle to be set if successful</param> /// <returns> /// Success if we successfully created the Presence Modification Handle pointed at in OutPresenceModificationHandle, or an error result if the input data was invalid /// </returns> public Result CreatePresenceModification(CreatePresenceModificationOptions options, out PresenceModification outPresenceModificationHandle) { System.IntPtr optionsAddress = new System.IntPtr(); Helper.TryMarshalSet <CreatePresenceModificationOptionsInternal, CreatePresenceModificationOptions>(ref optionsAddress, options); var outPresenceModificationHandleAddress = System.IntPtr.Zero; var funcResult = EOS_Presence_CreatePresenceModification(InnerHandle, optionsAddress, ref outPresenceModificationHandleAddress); Helper.TryMarshalDispose(ref optionsAddress); Helper.TryMarshalGet(outPresenceModificationHandleAddress, out outPresenceModificationHandle); return(funcResult); }