#pragma once #include "sol/sol.hpp" namespace module { /// /// 模块继承接口 /// class base { public: virtual ~base() {}; /// /// 注册全局变量(global类管理) /// /// /// virtual void regist_global(const char* name, sol::state* lua) = 0; /// /// 释放全局变量(global类管理) /// virtual void delete_global() = 0; /// /// 全局变量阶段获取自身指针 /// /// virtual void* self() { return this; } virtual int64_t self_ptr() { return (int64_t)this; } /// /// 释放自身(非指针释放,非lua引用释放,仅释放内部资源) /// virtual void self_free() {}; }; }