Beispiel #1
0
        public void SearchGroups()
        {
            var lang = _langField.text;
            var msg  = new NGroupsListMessage.Builder().FilterByLang(lang);

            NakamaManager.Instance.GroupsList(msg);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }