public void Set(LobbyDetailsCopyMemberAttributeByIndexOptions other) { if (other != null) { m_ApiVersion = LobbyDetails.LobbydetailsCopymemberattributebyindexApiLatest; TargetUserId = other.TargetUserId; AttrIndex = other.AttrIndex; } }
/// <summary> /// <see cref="CopyMemberAttributeByIndex" /> is used to immediately retrieve a copy of a lobby member attribute from an existing lobby. /// If the call returns an <see cref="Result.Success" /> result, the out parameter, OutAttribute, must be passed to <see cref="LobbyInterface.Release" /> to release the memory associated with it. /// <seealso cref="Attribute" /> /// <seealso cref="LobbyDetailsCopyMemberAttributeByIndexOptions" /> /// <seealso cref="LobbyInterface.Release" /> /// </summary> /// <param name="options">Structure containing the input parameters</param> /// <param name="outAttribute">Out parameter used to receive the <see cref="Attribute" /> structure.</param> /// <returns> /// <see cref="Result.Success" /> if the information is available and passed out in OutAttribute /// <see cref="Result.InvalidParameters" /> if you pass a null pointer for the out parameter /// <see cref="Result.IncompatibleVersion" /> if the API version passed in is incorrect /// </returns> public Result CopyMemberAttributeByIndex(LobbyDetailsCopyMemberAttributeByIndexOptions options, out Attribute outAttribute) { System.IntPtr optionsAddress = new System.IntPtr(); Helper.TryMarshalSet <LobbyDetailsCopyMemberAttributeByIndexOptionsInternal, LobbyDetailsCopyMemberAttributeByIndexOptions>(ref optionsAddress, options); var outAttributeAddress = System.IntPtr.Zero; var funcResult = EOS_LobbyDetails_CopyMemberAttributeByIndex(InnerHandle, optionsAddress, ref outAttributeAddress); Helper.TryMarshalDispose(ref optionsAddress); if (Helper.TryMarshalGet <AttributeInternal, Attribute>(outAttributeAddress, out outAttribute)) { LobbyInterface.EOS_Lobby_Attribute_Release(outAttributeAddress); } return(funcResult); }