public IEnumerator QueryAllGamesCoroutine(QueryAllGamesResults queryAllGamesResults) { HTTP.Request request = new HTTP.Request( "get", _server + "/queryAllGames" ); request.Send(); while( !request.isDone ) { yield return null; } if( request.exception != null ) { queryAllGamesResults( null, request.exception.ToString () ); } var responseText = request.response.Text; var endOfCommand = responseText.IndexOf (":"); var command = responseText.Substring (0, endOfCommand).Trim(); var result = responseText.Substring( endOfCommand + 1 ).Trim(); if (command == "/queryAllGames") { var splitResults = result.Split(new string[]{ ",", "\n" }, System.StringSplitOptions.RemoveEmptyEntries); Debug.Log ( splitResults ); List<GameInfo> results = new List<GameInfo>(); for( int idx = 0; idx < splitResults.Length; idx += 2 ) { var gameInfo = new GameInfo(); gameInfo.Key = splitResults[ idx ]; gameInfo.Name = splitResults[ idx + 1 ]; results.Add( gameInfo ); queryAllGamesResults( results.ToArray(), null ); } } else { queryAllGamesResults( null, "Error: " + result ); } }
void QueryAllGames(QueryAllGamesResults queryAllGamesResults) { StartCoroutine(QueryAllGamesCoroutine(queryAllGamesResults)); }