Fixing up the component api to be more useable
This commit is contained in:
parent
499cea5b44
commit
34b929c4e7
4 changed files with 84 additions and 49 deletions
|
@ -29,11 +29,11 @@ class PagedSparseSet
|
|||
_sparse[e.Index/PageSize][e.Index % PageSize] = (.)_packed.Count-1;
|
||||
}
|
||||
|
||||
public void Remove(Entity e)
|
||||
public bool Remove(Entity e)
|
||||
{
|
||||
EnsurePage(e.Index/PageSize);
|
||||
if(_sparse[e.Index/PageSize] == null)
|
||||
return;
|
||||
return false;
|
||||
|
||||
let toRm = _packed[_sparse[e.Index/PageSize][e.Index % PageSize].Index];
|
||||
let b = _packed.Back;
|
||||
|
@ -44,6 +44,7 @@ class PagedSparseSet
|
|||
_sparse[e.Index/PageSize][e.Index % PageSize] = Entity.Null;
|
||||
|
||||
_packed.PopBack();
|
||||
return true;
|
||||
}
|
||||
|
||||
[Inline, Unchecked]
|
||||
|
|
|
@ -39,7 +39,7 @@ class ComponentManager
|
|||
}
|
||||
|
||||
[Inline]
|
||||
public void* GetComponentData(Entity e, Component c) => Components[c].[Unchecked]Get(e);
|
||||
public void* GetData(Entity e, Component c) => Components[c].[Unchecked]Get(e);
|
||||
|
||||
///Retrieves the id of a component
|
||||
public Result<Component> GetId(StringView name)
|
||||
|
@ -49,8 +49,18 @@ class ComponentManager
|
|||
return _componentLookup[scope .(name)];
|
||||
}
|
||||
|
||||
public void AddComponentToEntity(Entity e, Component c, void* data)
|
||||
public void AddToEntity(Entity e, Component c, void* data) => Components[c].Add(e, data);
|
||||
|
||||
///Remove a component from the given entity
|
||||
public bool RemoveFromEntity(Entity e, Component c) => Components[c].Remove(e);
|
||||
|
||||
///Remove a component from the given entity and return it
|
||||
public Result<void*> GetAndRemoveFromEntity(Entity e, Component c)
|
||||
{
|
||||
Components[c].Add(e, data);
|
||||
if(!Components[c].Contains(e))
|
||||
return .Err;
|
||||
var data = [Unchecked]Components[c].Get(e);
|
||||
Components[c].Remove(e);
|
||||
return .Ok(data);
|
||||
}
|
||||
}
|
24
src/Internal/SystemSection.bf
Normal file
24
src/Internal/SystemSection.bf
Normal file
|
@ -0,0 +1,24 @@
|
|||
namespace Theater_ECS.Internal;
|
||||
|
||||
using System;
|
||||
|
||||
//Indicates when systems should be run in relation to each other
|
||||
//Higher = Later
|
||||
//Can be extended with own types
|
||||
//Not all types have to be used
|
||||
struct SystemSection : uint8
|
||||
{
|
||||
public const SystemSection TECS_Input = 0;
|
||||
|
||||
public const SystemSection TECS_EarlyUpdate = 5;
|
||||
public const SystemSection TECS_Update = 10;
|
||||
public const SystemSection TECS_LateUpdate = 15;
|
||||
|
||||
public const SystemSection TECS_EarlyRendering = 20;
|
||||
public const SystemSection TECS_Rendering = 25;
|
||||
public const SystemSection TECS_LateRendering = 30;
|
||||
|
||||
public const SystemSection TECS_Last = 40;
|
||||
|
||||
private this() {}
|
||||
}
|
|
@ -54,143 +54,143 @@ abstract class System
|
|||
case 2:
|
||||
if (comp == _Components[0])
|
||||
for (int ii < cun)
|
||||
this.Run(main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[1]));
|
||||
this.Run(main[(.)entities[ii].Index], ecs.Components.GetData(entities[ii], _Components[1]));
|
||||
else
|
||||
for (int ii < cun)
|
||||
this.Run(ecs.Components.GetComponentData(entities[ii], _Components[0]), main[(.)entities[ii].Index]);
|
||||
this.Run(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.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]));
|
||||
this.Run(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.GetComponentData(entities[ii], _Components[0]), main[(.)entities[ii].Index], ecs.Components.GetComponentData(entities[ii], _Components[2]));
|
||||
this.Run(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.GetComponentData(entities[ii], _Components[0]), ecs.Components.GetComponentData(entities[ii], _Components[1]), main[(.)entities[ii].Index]);
|
||||
this.Run(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.GetComponentData(entities[ii], _Components[1]), ecs.Components.GetComponentData(entities[ii], _Components[2]), ecs.Components.GetComponentData(entities[ii], _Components[3]));
|
||||
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]));
|
||||
else if (comp == _Components[1])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[2])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else
|
||||
for (int ii < cun)
|
||||
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]);
|
||||
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]);
|
||||
case 5:
|
||||
if (comp == _Components[0])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[1])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[2])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[3])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else
|
||||
for (int ii < cun)
|
||||
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]);
|
||||
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]);
|
||||
case 6:
|
||||
if (comp == _Components[0])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[1])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[2])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[3])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[4])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else
|
||||
for (int ii < cun)
|
||||
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]);
|
||||
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]);
|
||||
case 7:
|
||||
if (comp == _Components[0])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[1])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[2])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[3])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[4])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[5])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else
|
||||
for (int ii < cun)
|
||||
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]);
|
||||
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]);
|
||||
case 8:
|
||||
if (comp == _Components[0])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[1])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[2])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[3])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[4])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[5])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[6])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else
|
||||
for (int ii < cun)
|
||||
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]);
|
||||
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]);
|
||||
case 9:
|
||||
if (comp == _Components[0])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[1])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[2])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[3])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[4])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[5])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[6])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else if (comp == _Components[7])
|
||||
for (int ii < cun)
|
||||
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]));
|
||||
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]));
|
||||
else
|
||||
for (int ii < cun)
|
||||
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]);
|
||||
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]);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
|
Loading…
Add table
Reference in a new issue