示例#1
0
        public void UnlinkUser()
        {
            ManualResetEvent evt  = new ManualResetEvent(false);
            INSelf           user = null;

            string id      = TestContext.CurrentContext.Random.GetString(20);
            var    message = NSelfLinkMessage.Device(id);

            client.Send(message, (bool c1) => {
                var message2 = NSelfUnlinkMessage.Device(id);
                client.Send(message2, (bool c2) => {
                    var message3 = NSelfFetchMessage.Default();
                    client.Send(message3, (INSelf result) => {
                        user = result;
                        evt.Set();
                    }, _ => {
                        evt.Set();
                    });
                }, _ => {
                    evt.Set();
                });
            }, _ => {
                evt.Set();
            });

            evt.WaitOne(1000, false);
            Assert.NotNull(user);
            Assert.False(user.DeviceIds.Contains(id));
        }
    void OnFetchSelf(INSelf self)
    {
        localPlayerId       = self.Id;
        localPlayerFullName = self.Fullname;
        localPlayerHandle   = self.Handle;

        Debug.LogFormat("The user's ID is '{0}'.", self.Id);
        Debug.LogFormat("The user's fullname is '{0}'.", self.Fullname); // may be null
        Debug.LogFormat("The user's handle is '{0}'.", self.Handle);
    }
示例#3
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);
        }
示例#4
0
        public void FetchUser()
        {
            ManualResetEvent evt  = new ManualResetEvent(false);
            INSelf           self = null;

            var message = NSelfFetchMessage.Default();

            client.Send(message, (INSelf result) => {
                self = result;
                evt.Set();
            }, _ => {
                evt.Set();
            });

            evt.WaitOne(1000, false);
            Assert.NotNull(self);
            Assert.NotNull(self.Id);
        }