@@ -21,7 +21,6 @@ public class Flecs implements AutoCloseable {
2121 private final ComponentRegistry componentRegistry ;
2222 private final Map <Long , SystemCallbacks > systemCallbacks ;
2323 private final Map <Long , ObserverCallbacks > observerCallbacks ;
24- private static final ScopedValue <FlecsBuffers > CONTEXT = ScopedValue .newInstance ();
2524 private final FlecsBuffers defaultBuffers ;
2625 private final boolean owned ;
2726 private boolean closed ;
@@ -168,12 +167,11 @@ public long entity(String name) {
168167 byte [] utf8 = name .getBytes (StandardCharsets .UTF_8 );
169168 int len = utf8 .length ;
170169
171- FlecsBuffers buffers = this .getBuffers ();
172- MemorySegment nameSegment = buffers .nameBuffer ().ensure (len + 1 );
170+ MemorySegment nameSegment = this .defaultBuffers .nameBuffer ().ensure (len + 1 );
173171 nameSegment .asSlice (0 , len ).copyFrom (MemorySegment .ofArray (utf8 ));
174172 nameSegment .set (ValueLayout .JAVA_BYTE , len , (byte )0 );
175173
176- MemorySegment desc = buffers .entityDescBuffer ().get ();
174+ MemorySegment desc = this . defaultBuffers .entityDescBuffer ().get ();
177175 desc .fill ((byte ) 0 );
178176 ecs_entity_desc_t .name (desc , nameSegment );
179177
@@ -188,8 +186,7 @@ public Entity obtainEntity(long entityId) {
188186 }
189187
190188 MemorySegment getComponentBuffer (long size ) {
191- FlecsBuffers buffers = this .getBuffers ();
192- return buffers .componentBuffer ().ensure (size );
189+ return this .defaultBuffers .componentBuffer ().ensure (size );
193190 }
194191
195192 public EcsLongList entityBulk (int count ) {
@@ -307,8 +304,7 @@ public long lookup(String name) {
307304 byte [] utf8 = name .getBytes (StandardCharsets .UTF_8 );
308305 int len = utf8 .length ;
309306
310- FlecsBuffers buffers = this .getBuffers ();
311- MemorySegment segment = buffers .nameBuffer ().ensure (len + 1 );
307+ MemorySegment segment = this .defaultBuffers .nameBuffer ().ensure (len + 1 );
312308
313309 segment .asSlice (0 , len ).copyFrom (MemorySegment .ofArray (utf8 ));
314310 segment .set (ValueLayout .JAVA_BYTE , len , (byte )0 );
@@ -585,22 +581,6 @@ void registerObserverCallbacks(long observerId, Query.IterCallback iterCallback,
585581 }
586582 }
587583
588- private FlecsBuffers getBuffers () {
589- if (CONTEXT .isBound ()) {
590- return CONTEXT .get ();
591- } else if (this .defaultBuffers != null ) {
592- return this .defaultBuffers ;
593- } else {
594- throw new IllegalStateException ("No FlecsBuffers available in this context" );
595- }
596- }
597-
598- public static void runScoped (Runnable runnable ) {
599- try (var buffers = new FlecsBuffers ()) {
600- ScopedValue .where (CONTEXT , buffers ).run (runnable );
601- }
602- }
603-
604584 public void setStageCount (int stages ) {
605585 this .checkClosed ();
606586 flecs_h .ecs_set_stage_count (this .nativeWorld , stages );
0 commit comments