More system sorting and making the api slightly faster

This commit is contained in:
Booklordofthedings 2024-11-19 19:48:52 +01:00
parent 6cd249dc5b
commit bc8926725a
2 changed files with 84 additions and 54 deletions

View file

@ -93,6 +93,36 @@ class SystemsManager : IEnumerable<(String key, System value)>
}
}
///Run all systems that fall inbetween two Sections
public void RunSystemsBetween(ECS ecs, SystemSection sectionStart, SystemSection sectionEnd, float delta = 0)
{
if (_dirty)
{
SortSystemPriorites();
_dirty = false;
}
int counter = 0;
int counterLoose = 0;
for (uint8 section = (.)sectionStart; section <= (uint8)sectionEnd; section++)
{
if (_sortedSystems.Count > counter)
while (_sortedSystems[counter].Section == (.)section)
{
_sortedSystems[counter].RunSystem(ecs);
counter++;
}
if (_sortedLooseSystems.Count > counterLoose)
while (_sortedLooseSystems[counterLoose].2 == (.)section)
{
_sortedLooseSystems[counterLoose].0(ecs);
counter++;
}
}
}
///Run all systems with a specific section
public void RunSystemsBySection(ECS ecs, SystemSection section, float delta = 0)
{

View file

@ -20,15 +20,15 @@ abstract class System
public abstract void RegisterSystem(ECS ecs);
///Yes surely this is a good idea
public virtual void Run(void* p1) { };
public virtual void Run(void* p1, void* p2) { };
public virtual void Run(void* p1, void* p2, void* p3) { };
public virtual void Run(void* p1, void* p2, void* p3, void* p4) { };
public virtual void Run(void* p1, void* p2, void* p3, void* p4, void* p5) { };
public virtual void Run(void* p1, void* p2, void* p3, void* p4, void* p5, void* p6) { };
public virtual void Run(void* p1, void* p2, void* p3, void* p4, void* p5, void* p6, void* p7) { };
public virtual void Run(void* p1, void* p2, void* p3, void* p4, void* p5, void* p6, void* p7, void* p8) { };
public virtual void Run(void* p1, void* p2, void* p3, void* p4, void* p5, void* p6, void* p7, void* p8, void* p9) { };
public function void(void* p1) Run_1;;
public function void(void* p1, void* p2) Run_2;
public function void(void* p1, void* p2, void* p3) Run_3;
public function void(void* p1, void* p2, void* p3, void* p4) Run_4;
public function void(void* p1, void* p2, void* p3, void* p4, void* p5) Run_5;
public function void(void* p1, void* p2, void* p3, void* p4, void* p5, void* p6) Run_6;
public function void(void* p1, void* p2, void* p3, void* p4, void* p5, void* p6, void* p7) Run_7;
public function void(void* p1, void* p2, void* p3, void* p4, void* p5, void* p6, void* p7, void* p8) Run_8;
public function void(void* p1, void* p2, void* p3, void* p4, void* p5, void* p6, void* p7, void* p8, void* p9) Run_9;
public void RunSystem(ECS ecs)
{
@ -52,147 +52,147 @@ abstract class System
{
case 1:
for (int ii < cun)
this.Run(main[(.)entities[ii].Index]);
this.Run_1(main[(.)entities[ii].Index]);
case 2:
if (comp == _Components[0])
for (int ii < cun)
this.Run(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]));
this.Run_2(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]));
else
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index]);
this.Run_2(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index]);
case 3:
if (comp == _Components[0])
for (int ii < cun)
this.Run(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]));
this.Run_3(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]));
else if (comp == _Components[1])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]));
this.Run_3(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]));
else
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index]);
this.Run_3(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index]);
case 4:
if (comp == _Components[0])
for (int ii < cun)
this.Run(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]));
this.Run_4(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]));
else if (comp == _Components[1])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[2]));
this.Run_4(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[2]));
else if (comp == _Components[2])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]));
this.Run_4(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]));
else
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), main[(.)entities[ii].Index]);
this.Run_4(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), main[(.)entities[ii].Index]);
case 5:
if (comp == _Components[0])
for (int ii < cun)
this.Run(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]));
this.Run_5(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]));
else if (comp == _Components[1])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]));
this.Run_5(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]));
else if (comp == _Components[2])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]));
this.Run_5(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]));
else if (comp == _Components[3])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[4]));
this.Run_5(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[4]));
else
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), main[(.)entities[ii].Index]);
this.Run_5(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), main[(.)entities[ii].Index]);
case 6:
if (comp == _Components[0])
for (int ii < cun)
this.Run(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]));
this.Run_6(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]));
else if (comp == _Components[1])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]));
this.Run_6(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]));
else if (comp == _Components[2])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]));
this.Run_6(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]));
else if (comp == _Components[3])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]));
this.Run_6(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]));
else if (comp == _Components[4])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[5]));
this.Run_6(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[5]));
else
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), main[(.)entities[ii].Index]);
this.Run_6(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), main[(.)entities[ii].Index]);
case 7:
if (comp == _Components[0])
for (int ii < cun)
this.Run(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]));
this.Run_7(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]));
else if (comp == _Components[1])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]));
this.Run_7(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]));
else if (comp == _Components[2])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]));
this.Run_7(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]));
else if (comp == _Components[3])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]));
this.Run_7(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]));
else if (comp == _Components[4])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]));
this.Run_7(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]));
else if (comp == _Components[5])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[6]));
this.Run_7(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[6]));
else
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), main[(.)entities[ii].Index]);
this.Run_7(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), main[(.)entities[ii].Index]);
case 8:
if (comp == _Components[0])
for (int ii < cun)
this.Run(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]));
this.Run_8(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]));
else if (comp == _Components[1])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]));
this.Run_8(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]));
else if (comp == _Components[2])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]));
this.Run_8(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]));
else if (comp == _Components[3])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]));
this.Run_8(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]));
else if (comp == _Components[4])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]));
this.Run_8(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]));
else if (comp == _Components[5])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[7]));
this.Run_8(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[7]));
else if (comp == _Components[6])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[7]));
this.Run_8(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[7]));
else
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), main[(.)entities[ii].Index]);
this.Run_8(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), main[(.)entities[ii].Index]);
case 9:
if (comp == _Components[0])
for (int ii < cun)
this.Run(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
this.Run_9(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
else if (comp == _Components[1])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
this.Run_9(ecs.Components.GetData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
else if (comp == _Components[2])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
this.Run_9(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
else if (comp == _Components[3])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
this.Run_9(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
else if (comp == _Components[4])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
this.Run_9(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
else if (comp == _Components[5])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
this.Run_9(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
else if (comp == _Components[6])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
this.Run_9(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[7]), ecs.Components.GetData(entities[ii], _Components[8]));
else if (comp == _Components[7])
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[8]));
this.Run_9(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[8]));
else
for (int ii < cun)
this.Run(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[8]), main[(.)entities[ii].Index]);
this.Run_9(ecs.Components.GetData(entities[ii], _Components[0]), ecs.Components.GetData(entities[ii], _Components[1]), ecs.Components.GetData(entities[ii], _Components[2]), ecs.Components.GetData(entities[ii], _Components[3]), ecs.Components.GetData(entities[ii], _Components[4]), ecs.Components.GetData(entities[ii], _Components[5]), ecs.Components.GetData(entities[ii], _Components[6]), ecs.Components.GetData(entities[ii], _Components[8]), main[(.)entities[ii].Index]);
}
}
#endregion