# 收益系统

# 一、介绍

该模块展现了背包中的物品所产生的离线收益、在线收益,并提供了提取收益的接口。可以实现定时产生固定收益,实现于mogs物品系统的对接,可以通过收益系统定时产生固定的物品数量如产生金币,或回复体力等。 注:收益ID与背包中物品一一对应,收益物品不可叠加,配置成叠加也会只有一份收益。

# 二、使用

// 先在头部引入收益模块
import { incomeSystem } from "@timi/mogs-sdk";
1
2

1. 获取当前所有收益项

const incomes = await incomeSystem.incomes;
for(const income of incomes) {
    console.log('未领取的离线收益:',income.offlineIncome)
}
1
2
3
4

2. 查询某个收益项当前的未领取在线收益

未领取的在线收益在登录时会根据服务端下发的数据进行一次初始计算,此后都需要手动调用接口进行查询

const unclaimedOnlineIncomeAmount = await incomeSystem.getOnlineIncomeAmount(
  income.id
);
1
2
3

3. 领取所有离线收益

离线收益目前只支持一键全部领取

await incomeSystem.pickUpOfflineIncome({})
1

4. 领取在线收益

根据收益项中的id提取对应的在线收益

await incomeSystem.getOnlineIncomeAmount(income.id);
1

4. 监听收益项新增、移除

由于背包中的物品会新增、消耗,所以收益模块提供了对应的事件,以实时告知游戏侧收益项的变化

incomeSystem.onIncomeAppend((e) => {
    console.log('新增的收益项:', e.income)
});
incomeSystem.onIncomeRemove((e) => {
    console.log('已移除的收益项:', e.income)
})
1
2
3
4
5
6