We can properly use range based for loops with view and interaction with Lua is significantly improved

This commit is contained in:
2020-05-13 01:17:25 +02:00
parent de5af0a5aa
commit c9f05af6c9
8 changed files with 234 additions and 172 deletions

View File

@@ -9,6 +9,8 @@ namespace generated {
preload["ecs.Position"] = [&lua] {
sol::table component = lua.create_table();
component["_id"] = ecs::ComponentID::id<Position>;
component.new_usertype<Position>("Position",
"x", &Position::x, "y", &Position::y,
sol::base_classes, sol::bases<ecs::Component>()
@@ -18,7 +20,7 @@ namespace generated {
return std::make_pair(ecs::ComponentID::id<Position>, new Position(_x, _y));
}));
lua.set_function("_internal_to_Position", [] (ecs::Component* component) {
component.set_function("_convert", [] (ecs::Component* component) {
return (Position*)component;
});
@@ -27,6 +29,8 @@ namespace generated {
preload["ecs.Velocity"] = [&lua] {
sol::table component = lua.create_table();
component["_id"] = ecs::ComponentID::id<Velocity>;
component.new_usertype<Velocity>("Velocity",
"x", &Velocity::x, "y", &Velocity::y,
sol::base_classes, sol::bases<ecs::Component>()
@@ -36,7 +40,7 @@ namespace generated {
return std::make_pair(ecs::ComponentID::id<Velocity>, new Velocity(_x, _y));
}));
lua.set_function("_internal_to_Velocity", [] (ecs::Component* component) {
component.set_function("_convert", [] (ecs::Component* component) {
return (Velocity*)component;
});
@@ -45,6 +49,8 @@ namespace generated {
preload["ecs.Meta"] = [&lua] {
sol::table component = lua.create_table();
component["_id"] = ecs::ComponentID::id<Meta>;
component.new_usertype<Meta>("Meta",
"name", &Meta::name,
sol::base_classes, sol::bases<ecs::Component>()
@@ -54,7 +60,7 @@ namespace generated {
return std::make_pair(ecs::ComponentID::id<Meta>, new Meta(_name));
}));
lua.set_function("_internal_to_Meta", [] (ecs::Component* component) {
component.set_function("_convert", [] (ecs::Component* component) {
return (Meta*)component;
});