Lua脚本引擎特化版本。
More...
#include <nscript.h>
|
| enscript | type () const noexcept override |
| | 获取脚本引擎类型。
|
| template<typename T> |
| bool | init_sysdata (const T &asys) |
| | 将进程/Actor系统数据推送到Lua脚本运行时。
|
| void | setupluapaths () |
| | 设置Lua搜索路径并注册原生辅助函数。
|
| bool | init (const char *asubdirectory, const char *ascript) |
| | 创建Lua运行时并加载脚本文件。
|
| template<typename T> |
| bool | data_push (const char *aname, const char *asource, const T &adata, bool aedit) |
| | 通知Lua脚本层一行数据库记录已创建/更新。
|
| bool | db_loadfinish () |
| | 通知Lua脚本层初始数据库加载已完成。
|
| template<typename T> |
| bool | handle (const char *aname, const T &adata) |
| | 将一个Actor消息分发到Lua脚本层。
|
| bool | data_del (const char *aname, int64_t adataid) |
| | 通知Lua脚本层一行已被删除。
|
| template<typename T> |
| bool | data_checkout (const char *aname, i64_actorid adataid, T &adata) |
| | 调用Lua data_checkoutbyid 并读回成功标志和行数据。
|
| template<typename T> |
| bool | data_checkout (const char *aname, std::map< int64_t, T > &adata) |
| | 调用Lua data_checkout 拉取一个表的所有已编辑行。
|
| bool | data_checkdel (const char *aname, i64_actorid adataid) |
| | 调用Lua data_checkdelbyid 并返回布尔结果。
|
| bool | data_checkdel (const char *aname, std::vector< int64_t > &adataid) |
| | 收集在Lua脚本状态中标记为已删除的行。
|
Lua脚本引擎特化版本。
提供完整的Lua脚本绑定功能,包括:
- Lua状态机生命周期管理
- 数据库数据同步到脚本层
- Actor消息分发到脚本层
- 脚本层数据检出和删除检查
◆ data_checkdel() [1/2]
调用Lua data_checkdelbyid 并返回布尔结果。
- Parameters
-
- Returns
- bool 该行是否被标记为已删除
◆ data_checkdel() [2/2]
| bool ngl::nscript< enscript_lua >::data_checkdel |
( |
const char * | aname, |
|
|
std::vector< int64_t > & | adataid ) |
|
inline |
收集在Lua脚本状态中标记为已删除的行。
- Parameters
-
| aname | 表名 |
| adataid | 输出参数,收集已删除的数据ID列表 |
- Returns
- bool 调用是否成功
◆ data_checkout() [1/2]
调用Lua data_checkoutbyid 并读回成功标志和行数据。
- Template Parameters
-
- Parameters
-
| aname | 表名 |
| adataid | 数据ID |
| adata | 输出参数,接收编辑后的数据 |
- Returns
- bool 调用是否成功
◆ data_checkout() [2/2]
template<typename T>
| bool ngl::nscript< enscript_lua >::data_checkout |
( |
const char * | aname, |
|
|
std::map< int64_t, T > & | adata ) |
|
inline |
调用Lua data_checkout 拉取一个表的所有已编辑行。
- Template Parameters
-
- Parameters
-
| aname | 表名 |
| adata | 输出参数,接收ID->数据的映射 |
- Returns
- bool 调用是否成功
◆ data_del()
| bool ngl::nscript< enscript_lua >::data_del |
( |
const char * | aname, |
|
|
int64_t | adataid ) |
|
inline |
通知Lua脚本层一行已被删除。
- Parameters
-
- Returns
- bool 调用是否成功
◆ data_push()
template<typename T>
| bool ngl::nscript< enscript_lua >::data_push |
( |
const char * | aname, |
|
|
const char * | asource, |
|
|
const T & | adata, |
|
|
bool | aedit ) |
|
inline |
通知Lua脚本层一行数据库记录已创建/更新。
- Template Parameters
-
- Parameters
-
| aname | 表名 |
| asource | 数据来源标识 |
| adata | 数据内容 |
| aedit | 是否为编辑操作 |
- Returns
- bool 调用是否成功
◆ db_loadfinish()
通知Lua脚本层初始数据库加载已完成。
- Returns
- bool 调用是否成功
◆ handle()
template<typename T>
| bool ngl::nscript< enscript_lua >::handle |
( |
const char * | aname, |
|
|
const T & | adata ) |
|
inline |
将一个Actor消息分发到Lua脚本层。
- Template Parameters
-
- Parameters
-
- Returns
- bool 调用是否成功
◆ init()
| bool ngl::nscript< enscript_lua >::init |
( |
const char * | asubdirectory, |
|
|
const char * | ascript ) |
|
inline |
创建Lua运行时并加载脚本文件。
- Parameters
-
| asubdirectory | 脚本子目录 |
| ascript | 脚本文件名 |
- Returns
- bool 初始化是否成功
◆ init_sysdata()
template<typename T>
| bool ngl::nscript< enscript_lua >::init_sysdata |
( |
const T & | asys | ) |
|
|
inline |
将进程/Actor系统数据推送到Lua脚本运行时。
- Template Parameters
-
- Parameters
-
- Returns
- bool 推送是否成功
◆ setupluapaths()
设置Lua搜索路径并注册原生辅助函数。
- Note
- 注册了nguidstr2int64、send_client、send_actor三个C函数
◆ type()
|
|
inlineoverridevirtualnoexcept |
The documentation for this class was generated from the following file:
- E:/GitHub/ngl_server/public/cpp/actor/actor_base/core/nscript.h