Files
ylib/include/yqlua/QsLua.h
2024-03-31 21:45:09 +08:00

32 lines
570 B
C++

#pragma once
#include <QtWidgets/qwidget.h>
#include <string>
#include <functional>
#include <Kaguya/kaguya.hpp>
#include "ybase/buffer.h"
#include "yutil/file.h"
class QsLua
{
public:
QsLua();
~QsLua();
// 启动
bool start(
std::function<void(kaguya::State* L)> regist_callback,
const std::string& init_lua_filepath,
std::string error_filepath
);
void close();
// 制作LUA包
ylib::buffer package();
// 释放LUA包
void unpack(const ylib::buffer& data);
private:
void addLuaPath();
private:
kaguya::State *L = nullptr;
ylib::file_io m_error;
};