Skip to content

Commit 90374d5

Browse files
committed
remove threaded entity creation attempt
1 parent 35d65bf commit 90374d5

2 files changed

Lines changed: 4 additions & 94 deletions

File tree

examples/src/main/java/com/github/elebras1/flecs/examples/StageExample.java

Lines changed: 0 additions & 70 deletions
This file was deleted.

src/main/java/com/github/elebras1/flecs/Flecs.java

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)