public void SearchGroups() { var lang = _langField.text; var msg = new NGroupsListMessage.Builder().FilterByLang(lang); NakamaManager.Instance.GroupsList(msg); }
public void GroupsList() { ManualResetEvent evt = new ManualResetEvent(false); INError error = null; INResultSet <INGroup> groups = null; var message = new NGroupsListMessage.Builder() .OrderByAsc(true) .FilterByLang("en") .Build(); client.Send(message, (INResultSet <INGroup> results) => { groups = results; evt.Set(); }, (INError err) => { error = err; evt.Set(); }); evt.WaitOne(5000, false); Assert.IsNull(error); Assert.NotNull(groups); Assert.NotNull(groups.Results); Assert.Greater(groups.Results.Count, 1); }
public void GroupsList(NGroupsListMessage.Builder message, bool appendList = false, uint maxGroups = 100) { _client.Send(message.Build(), groups => { if (!appendList) { StateManager.Instance.SearchedGroups.Clear(); } foreach (var group in groups.Results) { // check to see if SearchedGroups has 'maxGroups' groups. if (StateManager.Instance.SearchedGroups.Count >= maxGroups) { return; } StateManager.Instance.SearchedGroups.Add(group); } // Recursively fetch the next set of groups and append if (groups.Cursor != null && groups.Cursor.Value != "") { message.Cursor(groups.Cursor); GroupsList(message, true); } }, ErrorHandler); }