Skip to content

Commit 02ad636

Browse files
committed
CodeGen - wip
1 parent 7415032 commit 02ad636

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed

src/CodeGen/Gen.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ public static string Join(int count, Func<int, string> part, string separator)
2626
return sb.ToString();
2727
}
2828

29+
public static string JoinLn(int count, Func<int, string> part)
30+
{
31+
return Join(count, part, "\r\n");
32+
}
33+
2934
public static string Where(int count)
3035
{
3136
return Join(count, n => $"where T{n} : struct", "\r\n");

src/CodeGen/Query/Query.Chunks.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,18 @@ public readonly struct Chunks<{{args}}>
3131
{{Where(count)}}
3232
{
3333
public int Length => Chunk1.Length;
34-
{{Join(count, n => $" public readonly Chunk<T{n}> Chunk{n}; // 16", "\r\n ")}}
34+
{{JoinLn(count, n => $" public readonly Chunk<T{n}> Chunk{n}; // 16")}}
3535
public readonly ChunkEntities Entities; // 32
3636
3737
public override string ToString() => Entities.GetChunksString();
3838
3939
internal Chunks({{Join(count, n => $"Chunk<T{n}> chunk{n}", ", ")}}, in ChunkEntities entities) {
40-
{{Join(count, n => $" Chunk{n} = chunk{n};", "\r\n ")}}
40+
{{JoinLn(count, n => $" Chunk{n} = chunk{n};")}}
4141
Entities = entities;
4242
}
4343
4444
internal Chunks(in Chunks<{{args}}> chunks, int start, int length, int taskIndex) {
45-
{{Join(count, n => $" Chunk{n} = new Chunk<T{n}> (chunks.Chunk{n}, start, length);", "\r\n ")}}
45+
{{JoinLn(count, n => $" Chunk{n} = new Chunk<T{n}> (chunks.Chunk{n}, start, length);")}}
4646
Entities = new ChunkEntities(chunks.Entities, start, length, taskIndex);
4747
}
4848
@@ -51,7 +51,7 @@ internal Chunks(in ChunkEntities entities, int taskIndex) {
5151
}
5252
5353
public void Deconstruct({{Join(count, n => $"out Chunk<T{n}> chunk{n}", ", ")}}, out ChunkEntities entities) {
54-
{{Join(count, n => $" chunk{n} = Chunk{n};", "\r\n ")}}
54+
{{JoinLn(count, n => $" chunk{n} = Chunk{n};")}}
5555
entities = Entities;
5656
}
5757
}
@@ -93,7 +93,7 @@ internal QueryChunks(ArchetypeQuery<{{args}}> query) {
9393
public struct ChunkEnumerator<{{args}}> : IEnumerator<Chunks<{{args}}>>
9494
{{Where(count)}}
9595
{
96-
{{Join(count, n => $" private readonly int structIndex{n}; // 4", "\r\n")}}
96+
{{JoinLn(count, n => $" private readonly int structIndex{n}; // 4")}}
9797
//
9898
private readonly EntityStoreBase store; // 8
9999
private readonly Archetypes archetypes; // 16
@@ -104,7 +104,7 @@ public struct ChunkEnumerator<{{args}}> : IEnumerator<Chunks<{{args}}>>
104104
105105
internal ChunkEnumerator(ArchetypeQuery<{{args}}> query)
106106
{
107-
{{Join(count, n => $" structIndex{n} = query.signatureIndexes.T{n};", "\r\n")}}
107+
{{JoinLn(count, n => $" structIndex{n} = query.signatureIndexes.T{n};")}}
108108
archetypes = query.GetArchetypes();
109109
archetypePos = -1;
110110
if (query.checkChange) {
@@ -149,9 +149,9 @@ public bool MoveNext()
149149
SetChunks:
150150
archetypePos = pos;
151151
var heapMap = archetype.heapMap;
152-
{{Join(count, n => $" var chunks{n} = (StructHeap<T{n}>)heapMap[structIndex{n}];", "\r\n")}}
152+
{{JoinLn(count, n => $" var chunks{n} = (StructHeap<T{n}>)heapMap[structIndex{n}];")}}
153153
154-
{{Join(count, n => $" var chunk{n} = new Chunk<T{n}>(chunks{n}.components, count, start);", "\r\n")}}
154+
{{JoinLn(count, n => $" var chunk{n} = new Chunk<T{n}>(chunks{n}.components, count, start);")}}
155155
var entities = new ChunkEntities(archetype, count, start);
156156
chunks = new Chunks<{{args}}>({{Join(count, n => $"chunk{n}", ", ")}}, entities);
157157
return true;

src/CodeGen/Query/Query.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public void ForEachEntity(ForEachEntity<{{args}}> lambda)
8787
var nodes = localStore.nodes;
8888
foreach (var ({{Join(count, n => $"chunk{n}", ", ")}}, entities) in Chunks)
8989
{
90-
{{Join(count, n => $" var span{n} = chunk{n}.Span;\r\n")}}
90+
{{JoinLn(count, n => $" var span{n} = chunk{n}.Span;")}}
9191
var ids = entities.Ids;
9292
for (int n = 0; n < chunk1.Length; n++) {
9393
var id = ids[n];

0 commit comments

Comments
 (0)