Skip to content

Commit 74526c1

Browse files
committed
Added templates.
1 parent 8f10829 commit 74526c1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+35354
-0
lines changed

src/Arch/Templates/Archetype.Add.cs

Lines changed: 174 additions & 0 deletions
Large diffs are not rendered by default.

src/Arch/Templates/Archetype.Get.cs

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+

2+
3+
using System;
4+
using System.Runtime.CompilerServices;
5+
using CommunityToolkit.HighPerformance;
6+
using Arch.Core.Utils;
7+
8+
namespace Arch.Core;
9+
public partial class Archetype
10+
{
11+
internal unsafe Components<T0, T1> Get<T0, T1>(scoped ref Slot slot)
12+
{
13+
ref var chunk = ref GetChunk(slot.ChunkIndex);
14+
return chunk.Get<T0, T1>(slot.Index);
15+
}
16+
17+
internal unsafe Components<T0, T1, T2> Get<T0, T1, T2>(scoped ref Slot slot)
18+
{
19+
ref var chunk = ref GetChunk(slot.ChunkIndex);
20+
return chunk.Get<T0, T1, T2>(slot.Index);
21+
}
22+
23+
internal unsafe Components<T0, T1, T2, T3> Get<T0, T1, T2, T3>(scoped ref Slot slot)
24+
{
25+
ref var chunk = ref GetChunk(slot.ChunkIndex);
26+
return chunk.Get<T0, T1, T2, T3>(slot.Index);
27+
}
28+
29+
internal unsafe Components<T0, T1, T2, T3, T4> Get<T0, T1, T2, T3, T4>(scoped ref Slot slot)
30+
{
31+
ref var chunk = ref GetChunk(slot.ChunkIndex);
32+
return chunk.Get<T0, T1, T2, T3, T4>(slot.Index);
33+
}
34+
35+
internal unsafe Components<T0, T1, T2, T3, T4, T5> Get<T0, T1, T2, T3, T4, T5>(scoped ref Slot slot)
36+
{
37+
ref var chunk = ref GetChunk(slot.ChunkIndex);
38+
return chunk.Get<T0, T1, T2, T3, T4, T5>(slot.Index);
39+
}
40+
41+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6> Get<T0, T1, T2, T3, T4, T5, T6>(scoped ref Slot slot)
42+
{
43+
ref var chunk = ref GetChunk(slot.ChunkIndex);
44+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6>(slot.Index);
45+
}
46+
47+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7> Get<T0, T1, T2, T3, T4, T5, T6, T7>(scoped ref Slot slot)
48+
{
49+
ref var chunk = ref GetChunk(slot.ChunkIndex);
50+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7>(slot.Index);
51+
}
52+
53+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8>(scoped ref Slot slot)
54+
{
55+
ref var chunk = ref GetChunk(slot.ChunkIndex);
56+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8>(slot.Index);
57+
}
58+
59+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>(scoped ref Slot slot)
60+
{
61+
ref var chunk = ref GetChunk(slot.ChunkIndex);
62+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>(slot.Index);
63+
}
64+
65+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(scoped ref Slot slot)
66+
{
67+
ref var chunk = ref GetChunk(slot.ChunkIndex);
68+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(slot.Index);
69+
}
70+
71+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(scoped ref Slot slot)
72+
{
73+
ref var chunk = ref GetChunk(slot.ChunkIndex);
74+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(slot.Index);
75+
}
76+
77+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(scoped ref Slot slot)
78+
{
79+
ref var chunk = ref GetChunk(slot.ChunkIndex);
80+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(slot.Index);
81+
}
82+
83+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(scoped ref Slot slot)
84+
{
85+
ref var chunk = ref GetChunk(slot.ChunkIndex);
86+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>(slot.Index);
87+
}
88+
89+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(scoped ref Slot slot)
90+
{
91+
ref var chunk = ref GetChunk(slot.ChunkIndex);
92+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>(slot.Index);
93+
}
94+
95+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(scoped ref Slot slot)
96+
{
97+
ref var chunk = ref GetChunk(slot.ChunkIndex);
98+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>(slot.Index);
99+
}
100+
101+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(scoped ref Slot slot)
102+
{
103+
ref var chunk = ref GetChunk(slot.ChunkIndex);
104+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>(slot.Index);
105+
}
106+
107+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17>(scoped ref Slot slot)
108+
{
109+
ref var chunk = ref GetChunk(slot.ChunkIndex);
110+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17>(slot.Index);
111+
}
112+
113+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18>(scoped ref Slot slot)
114+
{
115+
ref var chunk = ref GetChunk(slot.ChunkIndex);
116+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18>(slot.Index);
117+
}
118+
119+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>(scoped ref Slot slot)
120+
{
121+
ref var chunk = ref GetChunk(slot.ChunkIndex);
122+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19>(slot.Index);
123+
}
124+
125+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>(scoped ref Slot slot)
126+
{
127+
ref var chunk = ref GetChunk(slot.ChunkIndex);
128+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20>(slot.Index);
129+
}
130+
131+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>(scoped ref Slot slot)
132+
{
133+
ref var chunk = ref GetChunk(slot.ChunkIndex);
134+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21>(slot.Index);
135+
}
136+
137+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>(scoped ref Slot slot)
138+
{
139+
ref var chunk = ref GetChunk(slot.ChunkIndex);
140+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22>(slot.Index);
141+
}
142+
143+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23>(scoped ref Slot slot)
144+
{
145+
ref var chunk = ref GetChunk(slot.ChunkIndex);
146+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23>(slot.Index);
147+
}
148+
149+
internal unsafe Components<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24> Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24>(scoped ref Slot slot)
150+
{
151+
ref var chunk = ref GetChunk(slot.ChunkIndex);
152+
return chunk.Get<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24>(slot.Index);
153+
}
154+
155+
}

0 commit comments

Comments
 (0)