函数的用法
Viveport.UserStats.IsReady()
int IsReady(StatusCallback callback);
名称 | 类型 | 描述 |
callback | StatusCallback | 回调函数 |
返回:
int
。值为
1
表示函数已完成且没有错误。
初始化统计资料和成就 API 以及排行榜 API。它们共享相同的初始化函数。初始化完成后,回调函数将提供代码:如果成功会返回 0 ;如果失败,则返回 错误代码 。在调用其他排行榜 API 函数之前,请先调用此函数。
DownloadLeaderboardScores()
int DownloadLeaderboardScores( StatusCallback callback, string pchLeaderboardName, LeaderBoardRequestType eLeaderboardDataRequest, LeaderBoardTimeRange eLeaderboardDataTimeRange, int nRangeStart, int nRangeEnd);
名称 | 类型 | 描述 |
callback | StatusCallback | 回调函数 |
pchLeaderboardName | string | 在 VIVEPORT 开发者控制台中指定的排行榜 API 名称 |
eLeaderboardDataRequest | LeaderBoardRequestType | 请求类型,请参见下文 |
eLeaderboardDataTimeRange | LeaderBoardTimeRange | 时间范围,请参见下文 |
nRangeStart | int | 范围起始值,请参见下文 |
nRangeEnd | int | 范围结束值,请参见下文 |
返回:
int
。值为
1
表示函数已完成且没有错误。
调用此函数以从 VIVEPORT 后端为当前最终用户下载排行榜得分数据。此数据由 SDK 缓存,并可使用 GET 函数获取。
如果
eLeaderboardRequestType
为
GlobalData
或
LocalData
,则
RangeStart
和
RangeEnd
指的是最终用户的绝对排名,从索引
0
开始,确切顺序由
LeaderBoardSortMethod
确定。
RangeStart
和
RangeEnd
必须为整数。
例如,如果
RangeStart
和
RangeEnd
设置为
0
和
9
,则将下载前 10 个位置的
leaderboard
得分。在这种情况下,如果最终用户不在前 10 名中,则不会显示其名称。
索引 | 排名 | 名称 | 得分 |
0 | 1 | player1 | 1000 |
1 | 2 | player2 | 900 |
2 | 3 | player3 | 800 |
3 | 4 | player4 | 700 |
4 | 5 | player5 | 600 |
5 | 6 | player6 | 500 |
6 | 7 | player7 | 400 |
7 | 8 | player8 | 300 |
8 | 9 | player9 | 200 |
9 | 10 | player10 | 100 |
通过
GetLeaderBoardScore()
获得得分时使用该索引。
如果
LeaderboardRequestType
为
GlobalDataAroundUser
或
LocalDataAroundUser
,则
RangeStart
和
RangeEnd
分别是最终用户之前和之后的
leaderboard
得分,且必须为整数。
例如,如果
RangeStart
和
RangeEnd
设置为
-3
和
3
,则将下载 7 个总得分,最终用户的得分位于中间:
索引 | 排名 | 名称 | 得分 |
0 | 6 | player1 | 1000 |
1 | 7 | player2 | 900 |
2 | 8 | player3 | 800 |
3 | 9 | user | 700 |
4 | 10 | player4 | 600 |
5 | 11 | player5 | 500 |
6 | 12 | player6 | 400 |
GetLeaderboardScore()
Leaderboard GetLeaderboardScore(int index);
名称 | 类型 | 描述 |
index | int | 记分牌的索引位置 |
返回:
Leaderboard
。返回由索引指定的排行榜得分。排行榜得分的总数可以通过
GetLeaderboardScoreCount()
确定。
在调用此函数之前,请确保
DownloadLeaderBoardScore()
已成功完成。
GetLeaderboardScoreCount()
int GetLeaderboardScoreCount();
返回:
int
。返回从
0
开始的得分总数。
使用索引值调用
GetLeaderBoardScore()
。
GetLeaderboardSortMethod()
LeaderBoardSortMethod GetLeaderboardSortMethod();
返回:
LeaderBoardSortMethod
。
获取排行榜的排序方法,以便可以正确显示数据。
GetLeaderboardDisplayType()
LeaderBoardDisplayType GetLeaderboardDisplayType();
返回:
LeaderBoardDisplayType
。
调用此函数以确定储存的得分类型,例如数字、毫秒等。有关返回类型的详细信息,请参阅
LeaderBoardDisplayType
。
UploadLeaderboardScore()
int UploadLeaderboardScore(StatusCallback callback, string pchLeaderboardName, int nScore);
名称 | 类型 | 描述 |
callback | StatusCallback | 回调函数 |
pchLeaderboardName | string | 在 VIVEPORT 开发者控制台中指定的排行榜 API 名称 |
nScore | int | 要上传得分的值。仅供当前最终用户上传。 |
返回:
int
。值为
1
表示函数已完成且没有错误。
将最终用户的得分上传到 VIVEPORT 后端。请注意,只有当前最终用户的得分可以更改。