]> code.bitgloo.com Git - clyne/gamedev2.git/commitdiff
Removed EntityX pointers from script system and replaced with references
authorAndy Belle-Isle <drumsetmonkey@gmail.com>
Sat, 7 Sep 2019 05:24:15 +0000 (01:24 -0400)
committerAndy Belle-Isle <drumsetmonkey@gmail.com>
Sat, 7 Sep 2019 05:24:15 +0000 (01:24 -0400)
src/engine.cpp
src/script.cpp
src/script.hpp

index d8e8bab625e06296ed0b8f8478999dcfbd324397..66739ffef966c5ba4e6b0e076d197d74bbe82980 100644 (file)
@@ -45,7 +45,7 @@ int Engine::init(void)
     systems.add<InputSystem>();
     systems.add<PlayerSystem>(entities);
     systems.add<RenderSystem>();
-    systems.add<ScriptSystem>();
+    systems.add<ScriptSystem>(entities);
     systems.add<PhysicsSystem>();
     systems.configure();
 
index e1dea6a2bd8af7d806fcc06982af962e02fbfe1b..a6f0968e51507b250ca792f4f351222fcaca66b0 100644 (file)
 *  SYSTEM SPECIFIC  *
 *********************/
 
-void ScriptSystem::configure(entityx::EntityManager& entities,
-                             entityx::EventManager& events)
+void ScriptSystem::configure([[maybe_unused]] entityx::EntityManager& entities,
+                             [[maybe_unused]] entityx::EventManager& events)
 {
-    this->manager = &entities;
-    this->events = &events;
-
     events.subscribe<EntitySpawnEvent>(*this);
 
     // Init after systems.configure() in engine.cpp
@@ -137,7 +134,7 @@ sol::table ScriptSystem::spawn(sol::object param)
     if (param.get_type() == sol::type::table) {
         sol::table tab = param; // Cast the generic parameter to a table
 
-        entityx::Entity e = manager->create(); // Create a new entity
+        entityx::Entity e = manager.create(); // Create a new entity
         auto d = e.assign<Scripted>().get(); // Since this entity was created
                                              //  via Lua, assign the Scripted
                                              //  component.
index 84c698c229138a007473cb8b552eef295170e253..d4e22347248651e1d6721104c8ffbef35a22b6ce 100644 (file)
@@ -46,11 +46,11 @@ private:
      */
     sol::state lua;
 
-    entityx::EventManager* events;
-    entityx::EntityManager* manager;
+    entityx::EntityManager& manager;
 
 public:
-    ScriptSystem(void) {}
+    ScriptSystem(entityx::EntityManager& _manager):
+        manager(_manager) {}
 
     ~ScriptSystem(void) {}