예제 #1
0
        public void CheckTestLeaderboardExists()
        {
            ManualResetEvent evt   = new ManualResetEvent(false);
            INError          error = null;

            var client2 = new NClient.Builder(DefaultServerKey).Build();
            var message = NAuthenticateMessage.Device(DeviceId);

            client2.Register(message, (INSession ses) =>
            {
                client2.Connect(ses);

                var selfMessage = NSelfFetchMessage.Default();
                client2.Send(selfMessage, (INSelf self) =>
                {
                    this.self = self;
                    var leaderboardListMessage = new NLeaderboardsListMessage.Builder().Build();
                    client2.Send(leaderboardListMessage, (INResultSet <INLeaderboard> results) =>
                    {
                        bool found = false;
                        foreach (var leaderboard in results.Results)
                        {
                            if (LeaderboardId.Equals(leaderboard.Id))
                            {
                                serverLeaderboardId = leaderboard.Id;
                                found = true;
                                break;
                            }
                        }
                        client2.Logout();
                        Assert.IsTrue(found, "Leaderboard not found. Setup the leaderboard ('{0}') in Nakama and run this test again.", LeaderboardIdName);
                        evt.Set();
                    }, (INError err) => {
                        error = err;
                        evt.Set();
                    });
                }, (INError err) => {
                    error = err;
                    evt.Set();
                });
            }, (INError err) => {
                error = err;
                evt.Set();
            });

            evt.WaitOne(5000, false);
            Assert.IsNull(error);
        }
예제 #2
0
        public void LeaderboardsList()
        {
            ManualResetEvent            evt = new ManualResetEvent(false);
            INResultSet <INLeaderboard> res = null;

            var message = new NLeaderboardsListMessage.Builder().Add(LeaderboardIdName).Build();

            client.Send(message, (INResultSet <INLeaderboard> results) =>
            {
                res = results;
                evt.Set();
            }, _ => {
                evt.Set();
            });

            evt.WaitOne(1000, false);
            Assert.IsNotNull(res);
            Assert.IsNotEmpty(res.Results);
            Assert.AreEqual(res.Results[0].Id, LeaderboardId);
            Assert.GreaterOrEqual(res.Results[0].Count, 0);
        }