Removed second FilterStringKeyValue method and improved first

Second method was non-functional due to access modifier inconsistency, added IsNullOrEmpty and MaxLobbyKeyLength check to first method, added MaxLobbyKeyLength (and backing field) to SteamMAtchmaking, taken from https://partner.steamgames.com/doc/api/ISteamMatchmaking#constants
This commit is contained in:
thesupersoup 2019-06-23 22:12:21 -07:00
parent 6a0a46f495
commit 645e7bd91e
2 changed files with 16 additions and 14 deletions

View File

@ -12,6 +12,14 @@ namespace Steamworks
/// </summary> /// </summary>
public static class SteamMatchmaking public static class SteamMatchmaking
{ {
internal const int k_nMaxLobbyKeyLength = 255;
/// <summary>
/// Maximum number of characters a lobby metadata key can be
/// </summary>
public static int MaxLobbyKeyLength { get { return k_nMaxLobbyKeyLength; } }
static ISteamMatchmaking _internal; static ISteamMatchmaking _internal;
internal static ISteamMatchmaking Internal internal static ISteamMatchmaking Internal

View File

@ -50,23 +50,16 @@ namespace Steamworks.Data
/// Filter by specified key/value pair; string parameters /// Filter by specified key/value pair; string parameters
/// </summary> /// </summary>
public LobbyQuery FilterStringKeyValue( string nKey, string nValue ) public LobbyQuery FilterStringKeyValue( string nKey, string nValue )
{
if ( !string.IsNullOrEmpty(nKey) && nKey.Length <= SteamMatchmaking.MaxLobbyKeyLength )
{ {
stringFilter = new MatchMakingKeyValuePair_t stringFilter = new MatchMakingKeyValuePair_t
{ {
Key = nKey, Key = nKey,
Value = nValue Value = nValue
}; };
return this;
} }
/// <summary>
/// Filter by specified key/value pair; MatchMakingKeyValuePair_t parameter
/// </summary>
public LobbyQuery FilterStringKeyValue( MatchMakingKeyValuePair_t kv )
{
stringFilter = kv;
return this; return this;
} }
#endregion #endregion
@ -99,6 +92,7 @@ namespace Steamworks.Data
#endregion #endregion
void ApplyFilters() void ApplyFilters()
{ {
if ( distance.HasValue ) if ( distance.HasValue )