# 段位系统

# 一、介绍

该模块提供玩家当前赛季和历史赛季的段位和战绩相关信息,以及游戏策划配置的所有段位信息的列表

# 二、使用

// 先在头部引入段位模块
import { ladderSystem } from "@timi/mogs-sdk";
1
2

1. 获取当前赛季的段位和战绩相关信息

每次进入游戏会进行数据的初始化

const ladderInfo = await ladderSystem.ladderInfo;
console.log(ladderInfo.ladderDetail);
1
2

2. 获取历史赛季的段位和战绩相关信息

每次进入游戏会进行数据的初始化

const historyLadderInfo = await ladderSystem.historyLadderInfo;
historyLadderInfo.forEach((item) => {
    console.log(item.ladderDetail);
})
1
2
3
4

3. 获取所有段位相关信息

也就是上面提到的游戏策划配置好的所有段位信息

const ladderDetailList = await ladderSystem.ladderDetailList;
ladderDetailList.forEach((item) => {
    console.log('达到此段位需要多少分?', item.currentLadderScore);
    console.log('此段位和下个段位之间的分数段:', item.ladderScoreRange);
})
1
2
3
4
5

5. 汇报战绩

每次结束游戏后,需主动调用这个方法汇报战绩

await ladderSystem.reportRecord({
    isWin: 1, // 输赢
    battleStartTimestamp: xxxx, // 游戏的开始时间戳
    fail(err){
        console.error(err);
    },
    success(res){
        console.log('reportRecord',res);
    },
    complete(){
        console.log('complete');
    }
});
1
2
3
4
5
6
7
8
9
10
11
12
13

5. 监听段位和战绩信息的变化

每次游戏结束汇报战绩之后,都会触发这个事件通知

ladderSystem.onLadderInfoChange((ev) => {
    console.log('最新的信息:', ev.currentValue);
});
1
2
3

6. 监听历史段位信息的变化

汇报战绩后,如果赛季发生了切换,会触发这个事件通知(不汇报战绩的话,不会主动触发赛季变化通知)

ladderSystem.onHistoryLadderInfoChange((ev) => {
    console.log('赛季切换了,最新的历史赛季列表为:', ev.currentValue);
});
1
2
3

TIP

更多段位模块的api请参考段位模块