public void Set(LobbySearchSetParameterOptions other) { if (other != null) { m_ApiVersion = LobbySearch.LobbysearchSetparameterApiLatest; Parameter = other.Parameter; ComparisonOp = other.ComparisonOp; } }
/// <summary> /// Add a parameter to an array of search criteria combined via an implicit AND operator. Setting LobbyId or TargetUserId will result in <see cref="Find" /> failing /// <seealso cref="AttributeData" /> /// <seealso cref="ComparisonOp" /> /// </summary> /// <param name="options">a search parameter and its comparison op</param> /// <returns> /// <see cref="Result.Success" /> if setting this search parameter was successful /// <see cref="Result.InvalidParameters" /> if the search criteria is invalid or null /// <see cref="Result.IncompatibleVersion" /> if the API version passed in is incorrect /// </returns> public Result SetParameter(LobbySearchSetParameterOptions options) { System.IntPtr optionsAddress = new System.IntPtr(); Helper.TryMarshalSet <LobbySearchSetParameterOptionsInternal, LobbySearchSetParameterOptions>(ref optionsAddress, options); var funcResult = EOS_LobbySearch_SetParameter(InnerHandle, optionsAddress); Helper.TryMarshalDispose(ref optionsAddress); return(funcResult); }
/// <summary> /// Short SetParameter /// </summary> /// <param name="search">LobbySearch</param> /// <param name="key">Key</param> /// <param name="value">Value</param> /// <param name="comparisonOp">Compare option</param> public static void SetParameter(this LobbySearch search, string key, AttributeDataValue value, ComparisonOp comparisonOp) { var attr = new AttributeData(); attr.Key = key; attr.Value = value; var paramOp = new LobbySearchSetParameterOptions { Parameter = attr, ComparisonOp = comparisonOp, }; var result = search.SetParameter(paramOp); if (result != Result.Success) { Debug.LogError($"error {DebugTools.GetClassMethodName()}:{result}"); } }