mirror of
https://gitlab.com/Syping/luaengineapp.git
synced 2025-09-10 10:46:28 +02:00
EngineType handling improved and JSON array support
This commit is contained in:
parent
406905b359
commit
1fd16e168c
11 changed files with 102 additions and 56 deletions
|
@ -26,8 +26,10 @@
|
|||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
#if QT_VERSION <= QT_VERSION_CHECK(6, 0, 0)
|
||||
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);
|
||||
QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps, true);
|
||||
#endif
|
||||
QApplication a(argc, argv);
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
|
@ -50,7 +52,7 @@ int main(int argc, char *argv[])
|
|||
QVariant scriptPath = arguments.first();
|
||||
QFile luaScript(scriptPath.toString());
|
||||
if (!luaScript.open(QIODevice::ReadOnly)) {
|
||||
QTextStream(stderr) << "Error: Failed to open \"" << arguments.first().toString() << "\"." << endl;
|
||||
QTextStream(stderr) << "Error: Failed to open \"" << arguments.first().toString() << "\"." << Qt::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -61,22 +63,29 @@ int main(int argc, char *argv[])
|
|||
luaScript.reset();
|
||||
}
|
||||
|
||||
LuaEngineGui luaEngineGui;
|
||||
LuaEngineGui luaEngineGui(LuaEngine::RuntimeEngineType);
|
||||
LuaEngineIO::pushClass(&luaEngineGui);
|
||||
LuaEngineNetwork::pushClass(&luaEngineGui);
|
||||
LuaEngineOS::pushClass(&luaEngineGui);
|
||||
luaEngineGui.pushVariant("_LuaEngineRT", rtPath);
|
||||
luaEngineGui.pushVariant("_LuaEngineMode", "GUI");
|
||||
luaEngineGui.setProperty("EngineType", "Runtime");
|
||||
luaEngineGui.setProperty("ScriptPath", scriptPath);
|
||||
luaEngineGui.executeLuaScript(luaScript.readAll());
|
||||
|
||||
if (luaEngineGui.executeLuaFunction("main", arguments, true)) {
|
||||
QVariant variant = luaEngineGui.returnVariant();
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
if (variant.typeId() == QMetaType::Int || variant.typeId() == QMetaType::LongLong) {
|
||||
#else
|
||||
if (variant.type() == QVariant::Int || variant.type() == QVariant::LongLong) {
|
||||
#endif
|
||||
return variant.toInt();
|
||||
}
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
else if (variant.typeId() == QMetaType::QString) {
|
||||
#else
|
||||
else if (variant.type() == QVariant::String) {
|
||||
#endif
|
||||
if (variant.toString() == "GuiExecuted" || variant.toString() == "CliExecuted") {
|
||||
return a.exec();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue