ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::ttab_task Struct Reference
Inheritance diagram for ngl::ttab_task:
ngl::csv< tab_task > ngl::csv_base

Public Types

using receive_complete = std::pair<std::set<i32_taskid>, std::set<i32_taskid>>
using type_tab = tab_task
Public Types inherited from ngl::csv< tab_task >
using type_tab
 表类型别名

Public Member Functions

 ttab_task (const ttab_task &)=delete
ttab_task & operator= (const ttab_task &)=delete
void reload () final
 加载后回调
void set_data (int ataskid, task_condition &aitem, std::map< int32_t, receive_complete > &arc, bool areceive)
std::set< i32_taskid > * check (ETask atype, int32_t avalues, bool aisreceive)
const task_conditioncondition_receive (i32_taskid ataskid, ETask atype)
const std::vector< task_condition > * condition_receive (i32_taskid ataskid)
 获取任务领取条件
const task_conditioncondition_complete (i32_taskid ataskid, ETask atype)
const std::vector< task_condition > * condition_complete (i32_taskid ataskid)
 获取任务完成条件
bool repeat (actor_role *rd, i32_taskid ataskid)
 判断重复/每日任务是否还能再次接取
Public Member Functions inherited from ngl::csv< tab_task >
 csv (const csv &)=delete
csv & operator= (const csv &)=delete
virtual void * find (int aid)
 无类型数据访问
tab_tasktab (int aid)
 按ID查询记录
std::map< int, tab_task > & tabs ()
 获取所有表数据
virtual const std::string & verify () const
 获取内容哈希
virtual const char * csvname ()
 获取逻辑表名
virtual void load ()
 加载CSV文件
void foreach (const std::function< void(tab_task &)> &afun)
 遍历所有记录
tab_taskfind_if (const std::function< bool(tab_task &)> &afun)
 条件查询

Static Public Member Functions

static ttab_task & instance ()
Static Public Member Functions inherited from ngl::csv< tab_task >
static std::string path ()
 获取CSV文件路径
static tools::nhashcode hash_code ()
 获取类型哈希码
static const char * name ()
 获取类型名称
Static Public Member Functions inherited from ngl::csv_base
static std::string & path ()
 获取CSV文件根路径
static void set_path (const std::string &apath)
 设置CSV文件根路径

Public Attributes

std::map< ETask, int32_t > m_maxval
std::map< ETask, std::map< int32_t, receive_complete > > m_map
Public Attributes inherited from ngl::csv< tab_task >
std::map< int, tab_taskm_csv
 表数据存储,key为ID
std::string m_verify
 内容MD5哈希

Member Function Documentation

◆ condition_complete()

const std::vector< task_condition > * ngl::ttab_task::condition_complete ( i32_taskid ataskid)
inline

获取任务完成条件

Parameters
ataskid任务ID
Returns
完成条件列表,未找到返回nullptr

◆ condition_receive()

const std::vector< task_condition > * ngl::ttab_task::condition_receive ( i32_taskid ataskid)
inline

获取任务领取条件

Parameters
ataskid任务ID
Returns
领取条件列表,未找到返回nullptr

◆ reload()

void ngl::ttab_task::reload ( )
inlinefinalvirtual

加载后回调

派生类可重写此方法执行加载后的初始化操作。

Reimplemented from ngl::csv< tab_task >.

◆ repeat()

bool ngl::ttab_task::repeat ( actor_role * rd,
i32_taskid ataskid )
inline

判断重复/每日任务是否还能再次接取

Parameters
rd角色对象
ataskid任务ID
Returns
已完成次数未达配置上限返回true(Daily类型只统计当天完成次数);非重复类任务返回false

◆ set_data()

void ngl::ttab_task::set_data ( int ataskid,
task_condition & aitem,
std::map< int32_t, receive_complete > & arc,
bool areceive )
inline
Note
继承自 csv<tab_task>:tabs() 返回全部行的映射,tab(int aid) 按ID查询单行。

The documentation for this struct was generated from the following file: