public void AddScoresCallback()
        {
            using (var client = new Steamworks.Client(252490))
            {
                var board = client.GetLeaderboard("TestLeaderboard", Steamworks.Client.LeaderboardSortMethod.Ascending, Steamworks.Client.LeaderboardDisplayType.Numeric);

                while (!board.IsValid)
                {
                    Thread.Sleep(10);
                    client.Update();
                }

                Assert.IsTrue(board.IsValid);
                Assert.IsFalse(board.IsError);

                var done = false;

                const int score = 5678;

                board.AddScore(false, score, null, result =>
                {
                    Assert.IsTrue(result.ScoreChanged);
                    Assert.AreEqual(result.Score, score);

                    done = true;
                }, error => Assert.Fail(error.ToString()));

                while (!done)
                {
                    Thread.Sleep(10);
                    client.Update();
                }
            }
        }
        public void GetLeaderboard()
        {
            using (var client = new Steamworks.Client(252490))
            {
                var board = client.GetLeaderboard("TestLeaderboard", Steamworks.Client.LeaderboardSortMethod.Ascending, Steamworks.Client.LeaderboardDisplayType.Numeric);

                var time = Stopwatch.StartNew();
                while (!board.IsValid)
                {
                    Thread.Sleep(10);
                    client.Update();

                    if (time.Elapsed.TotalSeconds > 10)
                    {
                        throw new Exception("board.IsValid took too long");
                    }
                }

                Assert.IsTrue(board.IsValid);
                Assert.IsFalse(board.IsError);
                Assert.IsNotNull(board.Name);

                Console.WriteLine($"Board name is \"{board.Name}\"");
                Console.WriteLine($"Board has \"{board.TotalEntries}\" entries");

                board.AddScore(true, 86275309, 7, 8, 9);

                board.FetchScores(Steamworks.Leaderboard.RequestType.Global, 0, 20);

                time = Stopwatch.StartNew();
                while (board.IsQuerying)
                {
                    Thread.Sleep(10);
                    client.Update();

                    if (time.Elapsed.TotalSeconds > 10)
                    {
                        throw new Exception("board.IsQuerying took too long");
                    }
                }

                Assert.IsFalse(board.IsError);
                Assert.IsNotNull(board.Results);

                foreach (var entry in board.Results)
                {
                    Console.WriteLine($"{entry.GlobalRank}: {entry.SteamId} ({entry.Name}) with {entry.Score}");

                    if (entry.SubScores != null)
                    {
                        Console.WriteLine(" - " + string.Join(";", entry.SubScores.Select(x => x.ToString()).ToArray()));
                    }
                }
            }
        }
Пример #3
0
        public void AddScoresCallback()
        {
            using (var client = new Steamworks.Client(252490))
            {
                var board = client.GetLeaderboard("TestLeaderboard", Steamworks.Client.LeaderboardSortMethod.Ascending, Steamworks.Client.LeaderboardDisplayType.Numeric);

                var time = Stopwatch.StartNew();
                while (!board.IsValid)
                {
                    Thread.Sleep(10);
                    client.Update();

                    if (board.IsError)
                    {
                        throw new Exception("Board is Error");
                    }

                    if (time.Elapsed.TotalSeconds > 10)
                    {
                        throw new Exception("board.IsValid took too long");
                    }
                }

                Assert.IsTrue(board.IsValid);
                Assert.IsFalse(board.IsError);

                var done = false;

                const int score = 5678;

                board.AddScore(false, score, null, result =>
                {
                    Assert.IsTrue(result.ScoreChanged);
                    Assert.AreEqual(result.Score, score);

                    done = true;
                }, error => Assert.Fail(error.ToString()));

                while (!done)
                {
                    Thread.Sleep(10);
                    client.Update();
                }
            }
        }
        public void GetLeaderboardCallback()
        {
            using (var client = new Steamworks.Client(252490))
            {
                var board = client.GetLeaderboard("TestLeaderboard", Steamworks.Client.LeaderboardSortMethod.Ascending, Steamworks.Client.LeaderboardDisplayType.Numeric);

                while (!board.IsValid)
                {
                    Thread.Sleep(10);
                    client.Update();
                }

                Assert.IsTrue(board.IsValid);
                Assert.IsFalse(board.IsError);
                Assert.IsNotNull(board.Name);

                board.AddScore(true, 86275309, 7, 8, 9);

                var done = false;

                board.FetchScores(Steamworks.Leaderboard.RequestType.Global, 0, 20, results =>
                {
                    foreach (var entry in results)
                    {
                        Console.WriteLine($"{entry.GlobalRank}: {entry.SteamId} ({entry.Name}) with {entry.Score}");

                        if (entry.SubScores != null)
                        {
                            Console.WriteLine(" - " + string.Join(";", entry.SubScores.Select(x => x.ToString()).ToArray()));
                        }
                    }

                    done = true;
                }, error => Assert.Fail(error.ToString()));

                while (!done)
                {
                    Thread.Sleep(10);
                    client.Update();
                }
            }
        }
Пример #5
0
        public void AddScores()
        {
            using (var client = new Steamworks.Client(252490))
            {
                var board = client.GetLeaderboard("TestLeaderboard", Steamworks.Client.LeaderboardSortMethod.Ascending, Steamworks.Client.LeaderboardDisplayType.Numeric);

                var time = Stopwatch.StartNew();
                while (!board.IsValid)
                {
                    Thread.Sleep(10);
                    client.Update();

                    if (time.Elapsed.TotalSeconds > 10)
                    {
                        throw new Exception("board.IsValid took too long");
                    }
                }

                Assert.IsTrue(board.IsValid);
                Assert.IsFalse(board.IsError);

                board.AddScore(true, 1234);

                Thread.Sleep(10);
                client.Update();

                board.AddScore(true, 34566);

                Thread.Sleep(10);
                client.Update();

                board.AddScore(true, 86275309, 7, 8, 9, 7, 4, 7, 98, 24, 5, 76, 124, 6);

                Thread.Sleep(10);
                client.Update();

                board.AddScore(false, 86275309, 7, 8, 9, 7, 4, 7, 98, 24, 5, 76, 124, 6);

                Thread.Sleep(10);
                client.Update();
            }
        }
        public void AddScores()
        {
            using (var client = new Steamworks.Client(252490))
            {
                var board = client.GetLeaderboard("TestLeaderboard", Steamworks.Client.LeaderboardSortMethod.Ascending, Steamworks.Client.LeaderboardDisplayType.Numeric);

                while (!board.IsValid)
                {
                    Thread.Sleep(10);
                    client.Update();
                }

                Assert.IsTrue(board.IsValid);
                Assert.IsFalse(board.IsError);


                board.AddScore(true, false, 1234);

                Thread.Sleep(10);
                client.Update();

                board.AddScore(true, true, 34566);

                Thread.Sleep(10);
                client.Update();

                board.AddScore(true, false, 86275309, 7, 8, 9, 7, 4, 7, 98, 24, 5, 76, 124, 6);

                Thread.Sleep(10);
                client.Update();

                board.AddScore(false, true, 86275309, 7, 8, 9, 7, 4, 7, 98, 24, 5, 76, 124, 6);

                Thread.Sleep(10);
                client.Update();
            }
        }
        public void AddFileAttachment()
        {
            using (var client = new Steamworks.Client(252490))
            {
                var board = client.GetLeaderboard("TestLeaderboard", Steamworks.Client.LeaderboardSortMethod.Ascending, Steamworks.Client.LeaderboardDisplayType.Numeric);

                while (!board.IsValid)
                {
                    Thread.Sleep(10);
                    client.Update();
                }

                Assert.IsTrue(board.IsValid);
                Assert.IsFalse(board.IsError);

                var done = false;

                const int    score      = 5678;
                const string attachment = "Hello world!";

                var file = client.RemoteStorage.CreateFile("score/example.txt");
                file.WriteAllText(attachment);

                Assert.IsTrue(board.AddScore(false, score, null, result =>
                {
                    Assert.IsTrue(result.ScoreChanged);

                    Assert.IsTrue(board.AttachRemoteFile(file, () =>
                    {
                        done = true;
                    }, error => Assert.Fail(error.ToString())));
                }, error => Assert.Fail(error.ToString())));

                while (!done)
                {
                    Thread.Sleep(10);
                    client.Update();
                }

                done = false;

                Assert.IsTrue(board.FetchScores(Steamworks.Leaderboard.RequestType.GlobalAroundUser, 0, 0, entries =>
                {
                    Assert.AreEqual(1, entries.Length);
                    Assert.IsNotNull(entries[0].AttachedFile);

                    Assert.IsTrue(entries[0].AttachedFile.Download(() =>
                    {
                        Assert.AreEqual(attachment, entries[0].AttachedFile.ReadAllText());

                        done = true;
                    }, error => Assert.Fail(error.ToString())));
                }, error => Assert.Fail(error.ToString())));

                while (!done)
                {
                    Thread.Sleep(10);
                    client.Update();
                }
            }
        }