|
ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
|
排行榜条目数据结构 More...
#include <rank_item.h>
Public Types | |
| enum | ecompare { eless_bigger = 1 , eless_less = -1 , eless_equal = 0 } |
| 比较结果枚举 | |
Public Member Functions | |
| const pbdb::db_brief * | get () const |
| 获取玩家简要信息 | |
| bool | init (const pbdb::db_brief &abrief, data_modified< pbdb::db_ranklist > *aranklist, pbdb::eranklist atype, const std::function< int64_t(const pbdb::db_brief &)> &avalfun) |
| 初始化排行榜条目(通用版本) | |
| template<int ACTIVITYID> | |
| int64_t | activitylv (const pbdb::db_brief &abrief) |
| 获取活动等级数值 | |
| template<int ACTIVITYID> | |
| int64_t | activitygold (const pbdb::db_brief &abrief) |
| 获取活动金币数值 | |
| bool | init (pbdb::eranklist atype, const pbdb::db_brief &abrief, data_modified< pbdb::db_ranklist > *aranklist) |
| 初始化排行榜条目(按类型分发) | |
| void | change (pbdb::eranklist atype, pbdb::db_ranklist &aranklist) |
| 更新排行榜条目数据到数据库记录 | |
| ecompare | value_compare (int64_t al, int64_t ar) |
| 比较两个64位整数值 | |
| ecompare | value_compare (pbdb::eranklist atype, rank_item &ar) |
| 比较两个条目在指定排行榜类型下的数值 | |
| ecompare | time_compare (pbdb::eranklist atype, rank_item &ar) |
| 比较两个条目的时间戳(时间越早排名越高) | |
| bool | compare (pbdb::eranklist atype, rank_item &ar) |
| 综合比较两个条目的排名(数值优先,时间次之,ID兜底) | |
| bool | equal_value (pbdb::eranklist atype, rank_item &ar) |
| 判断两个条目在指定排行榜类型下数值是否相等 | |
| int64_t | value (pbdb::eranklist atype) |
| 获取指定排行榜类型的数值 | |
Public Attributes | |
| i64_actorid | m_actorid = nguid::make() |
| std::map< pbdb::eranklist, rank_pair > | m_data |
排行榜条目数据结构
每个玩家在排行榜中的数据载体,包含多个排行榜维度的数值和时间。 支持初始化、比较、排序等操作。
|
inline |
获取活动金币数值
| [in] | abrief | 玩家简要信息 |
|
inline |
获取活动等级数值
| [in] | abrief | 玩家简要信息 |
|
inline |
更新排行榜条目数据到数据库记录
| [in] | atype | 排行榜类型 |
| [in,out] | aranklist | 排行榜数据库记录 |
|
inline |
综合比较两个条目的排名(数值优先,时间次之,ID兜底)
| [in] | atype | 排行榜类型 |
| [in] | ar | 另一个排行榜条目 |
|
inline |
判断两个条目在指定排行榜类型下数值是否相等
| [in] | atype | 排行榜类型 |
| [in] | ar | 另一个排行榜条目 |
| const pbdb::db_brief * ngl::rank_item::get | ( | ) | const |
获取玩家简要信息
|
inline |
初始化排行榜条目(通用版本)
| [in] | abrief | 玩家简要信息 |
| [in] | aranklist | 排行榜数据修改器 |
| [in] | atype | 排行榜类型 |
| [in] | avalfun | 数值提取函数 |
|
inline |
初始化排行榜条目(按类型分发)
| [in] | atype | 排行榜类型 |
| [in] | abrief | 玩家简要信息 |
| [in] | aranklist | 排行榜数据修改器 |
比较两个条目的时间戳(时间越早排名越高)
| [in] | atype | 排行榜类型 |
| [in] | ar | 另一个排行榜条目 |
|
inline |
获取指定排行榜类型的数值
| [in] | atype | 排行榜类型 |
|
inline |
比较两个64位整数值
| [in] | al | 左值 |
| [in] | ar | 右值 |
比较两个条目在指定排行榜类型下的数值
| [in] | atype | 排行榜类型 |
| [in] | ar | 另一个排行榜条目 |