]> code.bitgloo.com Git - clyne/gamedev2.git/commitdiff
Created basic init script
authorAndy Belle-Isle <drumsetmonkey@gmail.com>
Tue, 27 Aug 2019 04:24:05 +0000 (00:24 -0400)
committerAndy Belle-Isle <drumsetmonkey@gmail.com>
Tue, 27 Aug 2019 04:24:05 +0000 (00:24 -0400)
Scripts/init.lua [new file with mode: 0644]
src/main.cpp

diff --git a/Scripts/init.lua b/Scripts/init.lua
new file mode 100644 (file)
index 0000000..ded10ec
--- /dev/null
@@ -0,0 +1,11 @@
+Player = entityx.manager:new()
+function Player:init(o)
+    o = o or {}
+    self.position = self:component("Position", o.position or {0, 0})
+end
+
+p = Player:instance({position = {10, 20}})
+p.position.x(5)
+print(p.position.x(), p.position.y())
+
+print("HEY")
index 0597d4813bd6ba5a1f307ea9bf1b5eedd223cdf7..b3d4744995dcb27f25c960fe74dfef98d0809ce0 100644 (file)
@@ -139,15 +139,38 @@ void logicLoop(void)
        }
 }
 
+struct Position : entityx::Component<Position>
+{
+    Position(float _x, float _y): x(_x), y(_y) {}
+
+    float x,y;
+};
+
 
 void LuaTest(void)
 {
     using namespace entityx;
     using namespace entityx::lua;
 
+    //export_component<Position>("Position",
+    //        wrap_ctor<Position, float, float>([](float x, float y) {
+    //            return Position(x, y);
+    //        }),
+    //        [](MemberRegister<Position>& m) {
+    //            m.add("x", &Position::x);
+    //            m.add("y", &Position::y);
+    //        }
+    //);
+
     lua_State* L = luaL_newstate();
     luaL_openlibs(L);
     setup_entityx_api(L);
 
+    std::shared_ptr<EventManager> events(new EventManager());
+    std::shared_ptr<EntityManager> entities(new EntityManager(*events));
+    new_entity_manager(L, entities, "manager");
+
+    luaL_dofile(L, "Scripts/init.lua");
+
     lua_close(L);
 }