2019-05-22 07:17:31 +08:00
|
|
|
#define SOL_ALL_SAFETIES_ON 1
|
2018-09-28 13:27:38 +08:00
|
|
|
#include <sol/sol.hpp>
|
2017-04-03 04:10:00 +08:00
|
|
|
|
2013-12-17 00:17:33 +08:00
|
|
|
#include <string>
|
|
|
|
#include <iostream>
|
|
|
|
|
2014-01-19 11:59:59 +08:00
|
|
|
// shows how to load basic data to a struct
|
|
|
|
|
2013-12-17 00:17:33 +08:00
|
|
|
struct config {
|
2021-03-06 14:03:23 +08:00
|
|
|
std::string name;
|
|
|
|
int width;
|
|
|
|
int height;
|
2013-12-17 00:17:33 +08:00
|
|
|
|
2021-03-06 14:03:23 +08:00
|
|
|
void print() {
|
|
|
|
std::cout << "Name: " << name << '\n' << "Width: " << width << '\n' << "Height: " << height << '\n';
|
|
|
|
}
|
2013-12-17 00:17:33 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
int main() {
|
2017-12-26 21:04:54 +08:00
|
|
|
sol::state lua;
|
2016-08-11 08:39:30 +08:00
|
|
|
config screen;
|
|
|
|
// To use the file, uncomment here and make sure it is in local dir
|
2021-03-06 14:03:23 +08:00
|
|
|
// lua.script_file("config.lua");
|
2016-08-11 08:39:30 +08:00
|
|
|
lua.script(R"(
|
|
|
|
name = "Asus"
|
|
|
|
width = 1920
|
|
|
|
height = 1080
|
|
|
|
)");
|
2017-12-26 21:04:54 +08:00
|
|
|
screen.name = lua.get<std::string>("name");
|
|
|
|
screen.width = lua.get<int>("width");
|
|
|
|
screen.height = lua.get<int>("height");
|
2021-03-06 14:03:23 +08:00
|
|
|
sol_c_assert(screen.name == "Asus");
|
|
|
|
sol_c_assert(screen.width == 1920);
|
|
|
|
sol_c_assert(screen.height == 1080);
|
2016-08-23 10:45:06 +08:00
|
|
|
|
2018-03-16 05:16:28 +08:00
|
|
|
std::cout << "=== config ===" << std::endl;
|
2016-08-11 08:39:30 +08:00
|
|
|
screen.print();
|
|
|
|
std::cout << std::endl;
|
2013-12-17 00:17:33 +08:00
|
|
|
}
|