Fix bulk entity creation with component builder
This commit is contained in:
parent
1737af9a71
commit
c0dae11e23
|
|
@ -85,7 +85,7 @@ extension Nexus {
|
||||||
/// - builder: The component builder providing context.
|
/// - builder: The component builder providing context.
|
||||||
/// - Returns: The newly created entities with the provided components assigned.
|
/// - Returns: The newly created entities with the provided components assigned.
|
||||||
@discardableResult
|
@discardableResult
|
||||||
public func createEntities(count: Int, @ComponentsBuilder using builder: (ComponentsBuilder.Context) -> [Component]) -> [Entity] {
|
public func createEntities(count: Int, @ComponentsBuilder using builder: (ComponentsBuilder.Context) -> [Component] = { _ in [] }) -> [Entity] {
|
||||||
(0..<count).map { self.createEntity(with: builder(ComponentsBuilder.Context(index: $0))) }
|
(0..<count).map { self.createEntity(with: builder(ComponentsBuilder.Context(index: $0))) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ final class NexusEventDelegateTests: XCTestCase {
|
||||||
XCTAssertEqual(entityCreatedEvents.count, 0)
|
XCTAssertEqual(entityCreatedEvents.count, 0)
|
||||||
nexus.createEntity()
|
nexus.createEntity()
|
||||||
XCTAssertEqual(entityCreatedEvents.count, 1)
|
XCTAssertEqual(entityCreatedEvents.count, 1)
|
||||||
nexus.createEntities(count: 100, using: { _ in })
|
nexus.createEntities(count: 100)
|
||||||
XCTAssertEqual(entityCreatedEvents.count, 101)
|
XCTAssertEqual(entityCreatedEvents.count, 101)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -54,7 +54,7 @@ final class NexusEventDelegateTests: XCTestCase {
|
||||||
nexus.delegate = delegateTester
|
nexus.delegate = delegateTester
|
||||||
|
|
||||||
XCTAssertEqual(events.count, 0)
|
XCTAssertEqual(events.count, 0)
|
||||||
nexus.createEntities(count: 100, using: { _ in })
|
nexus.createEntities(count: 100)
|
||||||
XCTAssertEqual(events.count, 0)
|
XCTAssertEqual(events.count, 0)
|
||||||
for entitiy in nexus.makeEntitiesIterator() {
|
for entitiy in nexus.makeEntitiesIterator() {
|
||||||
entitiy.destroy()
|
entitiy.destroy()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue