2024-11-11 19:47:09 +01:00
|
|
|
namespace Theater_ECS;
|
2024-11-18 10:29:35 +01:00
|
|
|
using Theater_ECS.Internal.Containers;
|
2024-11-11 19:47:09 +01:00
|
|
|
|
|
|
|
using System;
|
|
|
|
using System.Collections;
|
|
|
|
|
|
|
|
abstract class System
|
|
|
|
{
|
2024-11-17 12:44:47 +01:00
|
|
|
public bool Paused = false; //Wether or not this service should be run
|
|
|
|
public float RuntimeDelay = 0; //How many seconds should we wait after running this system
|
|
|
|
|
|
|
|
|
2024-11-14 15:35:33 +01:00
|
|
|
private List<Component> _Components = new .(10) ~ delete _;
|
2024-11-11 19:47:09 +01:00
|
|
|
|
2024-11-14 15:35:33 +01:00
|
|
|
///Get the compoent id and cache it inside of this system
|
2024-11-18 10:29:35 +01:00
|
|
|
public void RegisterComponent<T>(ECS ecs) where T : struct => _Components.Add(ecs.Components.RegisterComponent(typeof(T).GetFullName(.. scope .()), strideof(T)));
|
2024-11-11 19:47:09 +01:00
|
|
|
|
2024-11-14 15:35:33 +01:00
|
|
|
public abstract void RegisterSystem(ECS ecs);
|
2024-11-11 19:47:09 +01:00
|
|
|
|
2024-11-17 12:44:47 +01:00
|
|
|
///Yes surely this is a good idea
|
2024-11-14 15:35:33 +01:00
|
|
|
public virtual void Run(void* p1) { };
|
|
|
|
public virtual void Run(void* p1, void* p2) { };
|
|
|
|
public virtual void Run(void* p1, void* p2, void* p3) { };
|
2024-11-17 12:44:47 +01:00
|
|
|
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) { };
|
2024-11-14 15:35:33 +01:00
|
|
|
|
|
|
|
public void RunSystem(ECS ecs)
|
|
|
|
{
|
|
|
|
int_cosize count = int_cosize.MaxValue;
|
|
|
|
Component comp = _Components[0];
|
|
|
|
|
2024-11-17 12:44:47 +01:00
|
|
|
for (var c in _Components)
|
2024-11-18 10:29:35 +01:00
|
|
|
if (ecs.Components.Components[c].Count() < count)
|
2024-11-14 15:35:33 +01:00
|
|
|
{
|
2024-11-18 10:29:35 +01:00
|
|
|
count = ecs.Components.Components[c].Count();
|
2024-11-14 15:35:33 +01:00
|
|
|
comp = c;
|
|
|
|
}
|
|
|
|
|
|
|
|
//We now have the list of entities to loop through
|
2024-11-18 10:29:35 +01:00
|
|
|
Span<Entity> entities = ecs.Components.Components[comp].GetAll();
|
|
|
|
UList main = ecs.Components.Components[comp].[Friend]_packedEntities;
|
2024-11-17 12:44:47 +01:00
|
|
|
var cun = entities.Length - 1;
|
2024-11-14 15:35:33 +01:00
|
|
|
|
2024-11-17 12:44:47 +01:00
|
|
|
#region DumbStatement
|
|
|
|
switch (_Components.Count)
|
2024-11-14 15:35:33 +01:00
|
|
|
{
|
|
|
|
case 1:
|
2024-11-17 12:44:47 +01:00
|
|
|
for (int ii < cun)
|
|
|
|
this.Run(main[(.)entities[ii].Index]);
|
2024-11-14 15:35:33 +01:00
|
|
|
case 2:
|
2024-11-17 12:44:47 +01:00
|
|
|
if (comp == _Components[0])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[1]));
|
2024-11-14 15:35:33 +01:00
|
|
|
else
|
2024-11-17 12:44:47 +01:00
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), main[(.)entities[ii].Index]);
|
2024-11-14 15:35:33 +01:00
|
|
|
case 3:
|
2024-11-17 12:44:47 +01:00
|
|
|
if (comp == _Components[0])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[1])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), main[(.)entities[ii].Index]);
|
2024-11-17 12:44:47 +01:00
|
|
|
case 4:
|
|
|
|
if (comp == _Components[0])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[1])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[2]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[2])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), main[(.)entities[ii].Index]);
|
2024-11-17 12:44:47 +01:00
|
|
|
case 5:
|
|
|
|
if (comp == _Components[0])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[1])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[4]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[2])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[4]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[3])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[4]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), main[(.)entities[ii].Index]);
|
2024-11-17 12:44:47 +01:00
|
|
|
case 6:
|
|
|
|
if (comp == _Components[0])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[1])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[2])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[3])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[4])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[5]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), main[(.)entities[ii].Index]);
|
2024-11-17 12:44:47 +01:00
|
|
|
case 7:
|
|
|
|
if (comp == _Components[0])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[1])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[2])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[3])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[4])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[5])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[6]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), main[(.)entities[ii].Index]);
|
2024-11-17 12:44:47 +01:00
|
|
|
case 8:
|
|
|
|
if (comp == _Components[0])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]), ecs.Components.GetComponentData(entities[ii], _Components[7]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[1])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]), ecs.Components.GetComponentData(entities[ii], _Components[7]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[2])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]), ecs.Components.GetComponentData(entities[ii], _Components[7]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[3])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]), ecs.Components.GetComponentData(entities[ii], _Components[7]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[4])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]), ecs.Components.GetComponentData(entities[ii], _Components[7]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[5])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[7]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[6])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[7]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]), main[(.)entities[ii].Index]);
|
2024-11-17 12:44:47 +01:00
|
|
|
case 9:
|
|
|
|
if (comp == _Components[0])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]), ecs.Components.GetComponentData(entities[ii], _Components[7]), ecs.Components.GetComponentData(entities[ii], _Components[8]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[1])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]), ecs.Components.GetComponentData(entities[ii], _Components[7]), ecs.Components.GetComponentData(entities[ii], _Components[8]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[2])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]), ecs.Components.GetComponentData(entities[ii], _Components[7]), ecs.Components.GetComponentData(entities[ii], _Components[8]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[3])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]), ecs.Components.GetComponentData(entities[ii], _Components[7]), ecs.Components.GetComponentData(entities[ii], _Components[8]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[4])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]), ecs.Components.GetComponentData(entities[ii], _Components[7]), ecs.Components.GetComponentData(entities[ii], _Components[8]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[5])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[7]), ecs.Components.GetComponentData(entities[ii], _Components[8]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[6])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[7]), ecs.Components.GetComponentData(entities[ii], _Components[8]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else if (comp == _Components[7])
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[8]));
|
2024-11-17 12:44:47 +01:00
|
|
|
else
|
|
|
|
for (int ii < cun)
|
2024-11-18 10:29:35 +01:00
|
|
|
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]), ecs.Components.GetComponentData(entities[ii], _Components[4]), ecs.Components.GetComponentData(entities[ii], _Components[5]), ecs.Components.GetComponentData(entities[ii], _Components[6]), ecs.Components.GetComponentData(entities[ii], _Components[8]), main[(.)entities[ii].Index]);
|
2024-11-14 15:35:33 +01:00
|
|
|
}
|
|
|
|
}
|
2024-11-17 12:44:47 +01:00
|
|
|
#endregion
|
|
|
|
|
2024-11-11 19:47:09 +01:00
|
|
|
}
|