39 lines
1.7 KiB
C#
39 lines
1.7 KiB
C#
|
|
namespace OECS;
|
||
|
|
|
||
|
|
// Custom delegate types for query iteration with ref parameters.
|
||
|
|
// The built-in Action<...> delegates do not support ref parameters.
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// Callback for iterating entities with one component type.
|
||
|
|
/// </summary>
|
||
|
|
public delegate void ForEachAction<T1>(Entity entity, ref T1 c1) where T1 : struct;
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// Callback for iterating entities with two component types.
|
||
|
|
/// </summary>
|
||
|
|
public delegate void ForEachAction<T1, T2>(Entity entity, ref T1 c1, ref T2 c2)
|
||
|
|
where T1 : struct where T2 : struct;
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// Callback for iterating entities with three component types.
|
||
|
|
/// </summary>
|
||
|
|
public delegate void ForEachAction<T1, T2, T3>(Entity entity, ref T1 c1, ref T2 c2, ref T3 c3)
|
||
|
|
where T1 : struct where T2 : struct where T3 : struct;
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// Callback for iterating entities with four component types.
|
||
|
|
/// </summary>
|
||
|
|
public delegate void ForEachAction<T1, T2, T3, T4>(Entity entity, ref T1 c1, ref T2 c2, ref T3 c3, ref T4 c4)
|
||
|
|
where T1 : struct where T2 : struct where T3 : struct where T4 : struct;
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// Callback for iterating entities with five component types.
|
||
|
|
/// </summary>
|
||
|
|
public delegate void ForEachAction<T1, T2, T3, T4, T5>(Entity entity, ref T1 c1, ref T2 c2, ref T3 c3, ref T4 c4, ref T5 c5)
|
||
|
|
where T1 : struct where T2 : struct where T3 : struct where T4 : struct where T5 : struct;
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// Callback for iterating entities with six component types.
|
||
|
|
/// </summary>
|
||
|
|
public delegate void ForEachAction<T1, T2, T3, T4, T5, T6>(Entity entity, ref T1 c1, ref T2 c2, ref T3 c3, ref T4 c4, ref T5 c5, ref T6 c6)
|
||
|
|
where T1 : struct where T2 : struct where T3 : struct where T4 : struct where T5 : struct where T6 : struct;
|