#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() {};
};
}