-removed launcher.manager (gEntityManager used instead)

-removed somee comments, unneded code
-added some comments/documentation
This commit is contained in:
Mergul 2021-03-02 21:05:05 +01:00
parent 3b954b732b
commit 27154c809e
10 changed files with 583 additions and 688 deletions

View file

@ -58,7 +58,6 @@ struct Launcher
ImGuiContext* context;
SDL_Window* window;
SDL_GLContext gl_context;
EntityManager* manager;
/*bool function() loop;
void function() end;
void function(SDL_Event*) event;*/
@ -126,19 +125,19 @@ struct Launcher
gui_manager.clear();
//launcher.ent
manager.begin();
manager.update("clean");
manager.end();
gEntityManager.begin();
gEntityManager.update("clean");
gEntityManager.end();
if(this.demo.deinitialize)this.demo.deinitialize();
foreach(ref system; manager.systems)
foreach(ref system; gEntityManager.systems)
{
if(system.id != becsID!CountSystem && system.id != becsID!CleanSystem)system.disable();
}
/*launcher.manager.getSystem(becsID!CountSystem).enable();
launcher.manager.getSystem(becsID!CleanSystem).enable();//*/
/*gEntityManager.getSystem(becsID!CountSystem).enable();
gEntityManager.getSystem(becsID!CleanSystem).enable();//*/
if(callbacks.register)callbacks.register();
if(callbacks.initialize)callbacks.initialize();
@ -271,11 +270,11 @@ struct Launcher
//else if(position.y > 299)position.y = 299;
*location = position;
}
manager.addEntity(tmpl);
gEntityManager.addEntity(tmpl);
}
else
{
manager.callEntitiesFunction!IteratorSystem(&iterator.removeEntity);
gEntityManager.callEntitiesFunction!IteratorSystem(&iterator.removeEntity);
}
break;
case Tool.component_manipulator:
@ -289,21 +288,21 @@ struct Launcher
{
ushort[1] rcomps = [gui_manager.getSelectedComponent().component_id];
iterator.rem_comps = rcomps;
manager.callEntitiesFunction!IteratorSystem(&iterator.overrideComponent);
gEntityManager.callEntitiesFunction!IteratorSystem(&iterator.overrideComponent);
}
else manager.callEntitiesFunction!IteratorSystem(&iterator.addComponent);
else gEntityManager.callEntitiesFunction!IteratorSystem(&iterator.addComponent);
}
else
{
ushort[1] comps = [gui_manager.getSelectedComponent().component_id];
iterator.rem_comps = comps;
manager.callEntitiesFunction!IteratorSystem(&iterator.removeComponent);
gEntityManager.callEntitiesFunction!IteratorSystem(&iterator.removeComponent);
}
}
break;
case Tool.selector:
iterator.distance = size2;
manager.callEntitiesFunction!IteratorSystem(&iterator.selectEntity);
gEntityManager.callEntitiesFunction!IteratorSystem(&iterator.selectEntity);
break;
default:
break;
@ -369,7 +368,7 @@ struct CleanSystem
{
foreach(i; 0..data.length)
{
launcher.manager.removeEntity(data.entities[i].id);
gEntityManager.removeEntity(data.entities[i].id);
}
}
}
@ -878,9 +877,9 @@ void mainLoop(void* arg)
//igEndChildFrame();
if(igButton("Clear",ImVec2(-1,0)))
{
launcher.manager.begin();
launcher.manager.update("clean");
launcher.manager.end();
gEntityManager.begin();
gEntityManager.update("clean");
gEntityManager.end();
}
}
igEnd();
@ -1016,10 +1015,11 @@ void mainLoop(void* arg)
}
else
{
launcher.manager.begin();
gEntityManager.begin();
import game_core.rendering;
launcher.manager.callEntitiesFunction!DrawSystem(&(launcher.manager.getSystem!DrawSystem).onUpdate);
launcher.manager.end();
DrawSystem* draw_system = gEntityManager.getSystem!DrawSystem;
gEntityManager.callEntitiesFunction!DrawSystem(&draw_system.onUpdate);
gEntityManager.end();
}
launcher.job_updater.pool.tryWaitCount = 0;
@ -1104,8 +1104,8 @@ void quit()
if(launcher.demo.deinitialize)launcher.demo.deinitialize();
launcher.manager.destroy();
launcher.manager = null;
gEntityManager.destroy();
gEntityManager = null;
TexCoordsManager.destroy();
@ -1231,23 +1231,23 @@ int app_main(int argc, char** argv)
//launcher.job_updater.onCreate();
EntityManager.initialize(32, 1<<16);
launcher.manager = gEntityManager;
//gEntityManager = gEntityManager;
//launcher.manager.m_thread_id_func = &launcher.job_updater.getThreadID;
//launcher.manager.setJobDispachFunc(&launcher.job_updater.dispatch);
launcher.manager.setMultithreadingCallbacks(&launcher.job_updater.dispatch, &launcher.job_updater.getThreadID);
//gEntityManager.m_thread_id_func = &launcher.job_updater.getThreadID;
//gEntityManager.setJobDispachFunc(&launcher.job_updater.dispatch);
gEntityManager.setMultithreadingCallbacks(&launcher.job_updater.dispatch, &launcher.job_updater.getThreadID);
launcher.manager.beginRegister();
gEntityManager.beginRegister();
launcher.manager.registerPass("clean");
gEntityManager.registerPass("clean");
launcher.manager.registerComponent!CLocation;
gEntityManager.registerComponent!CLocation;
launcher.manager.registerSystem!CountSystem(10000);
launcher.manager.registerSystem!CleanSystem(0,"clean");
launcher.manager.registerSystem!IteratorSystem(0,"clean");
gEntityManager.registerSystem!CountSystem(10000);
gEntityManager.registerSystem!CleanSystem(0,"clean");
gEntityManager.registerSystem!IteratorSystem(0,"clean");
launcher.manager.endRegister();
gEntityManager.endRegister();
loadGFX();