public void Set(CopyExternalUserInfoByIndexOptions other)
 {
     if (other != null)
     {
         m_ApiVersion = UserInfoInterface.CopyexternaluserinfobyindexApiLatest;
         LocalUserId  = other.LocalUserId;
         TargetUserId = other.TargetUserId;
         Index        = other.Index;
     }
 }
Пример #2
0
        /// <summary>
        /// Fetches an external user info from a given index.
        /// <seealso cref="Release" />
        /// </summary>
        /// <param name="options">Structure containing the index being accessed</param>
        /// <param name="outExternalUserInfo">The external user info. If it exists and is valid, use <see cref="Release" /> when finished</param>
        /// <returns>
        /// <see cref="Result.Success" /> if the information is available and passed out in OutExternalUserInfo
        /// <see cref="Result.InvalidParameters" /> if you pass a null pointer for the out parameter
        /// <see cref="Result.NotFound" /> if the external user info is not found
        /// </returns>
        public Result CopyExternalUserInfoByIndex(CopyExternalUserInfoByIndexOptions options, out ExternalUserInfo outExternalUserInfo)
        {
            System.IntPtr optionsAddress = new System.IntPtr();
            Helper.TryMarshalSet <CopyExternalUserInfoByIndexOptionsInternal, CopyExternalUserInfoByIndexOptions>(ref optionsAddress, options);

            var outExternalUserInfoAddress = System.IntPtr.Zero;

            var funcResult = EOS_UserInfo_CopyExternalUserInfoByIndex(InnerHandle, optionsAddress, ref outExternalUserInfoAddress);

            Helper.TryMarshalDispose(ref optionsAddress);

            if (Helper.TryMarshalGet <ExternalUserInfoInternal, ExternalUserInfo>(outExternalUserInfoAddress, out outExternalUserInfo))
            {
                EOS_UserInfo_ExternalUserInfo_Release(outExternalUserInfoAddress);
            }

            return(funcResult);
        }