From 041d556dc97a5ca88c5dbe8a08c82309cef1765e Mon Sep 17 00:00:00 2001 From: Christian Treffs Date: Thu, 30 Apr 2020 22:18:46 +0200 Subject: [PATCH] Revert family removal --- Sources/FirebladeECS/Nexus+FamilyUpdate.swift | 6 ------ Sources/FirebladeECS/NexusEvents.swift | 8 -------- Tests/FirebladeECSTests/FamilyTests.swift | 6 +++--- 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/Sources/FirebladeECS/Nexus+FamilyUpdate.swift b/Sources/FirebladeECS/Nexus+FamilyUpdate.swift index 7424b27..24c6c81 100644 --- a/Sources/FirebladeECS/Nexus+FamilyUpdate.swift +++ b/Sources/FirebladeECS/Nexus+FamilyUpdate.swift @@ -13,7 +13,6 @@ extension Nexus { } familyMembersByTraits[traits] = UnorderedSparseSet() - defer { delegate?.nexusEvent(FamilyCreated(family: traits)) } update(familyMembership: traits) } @@ -67,10 +66,5 @@ extension Nexus { final func remove(entityWithId entityId: EntityIdentifier, fromFamilyWithTraits traits: FamilyTraitSet) { familyMembersByTraits[traits]!.remove(at: entityId.id) - if familyMembersByTraits[traits]!.isEmpty { - // delete family if no more entities are present - familyMembersByTraits[traits] = nil - delegate?.nexusEvent(FamilyDestroyed(family: traits)) - } } } diff --git a/Sources/FirebladeECS/NexusEvents.swift b/Sources/FirebladeECS/NexusEvents.swift index d82d1e1..020246f 100644 --- a/Sources/FirebladeECS/NexusEvents.swift +++ b/Sources/FirebladeECS/NexusEvents.swift @@ -35,14 +35,6 @@ public struct FamilyMemberRemoved: NexusEvent { public let from: FamilyTraitSet } -public struct FamilyCreated: NexusEvent { - public let family: FamilyTraitSet -} - -public struct FamilyDestroyed: NexusEvent { - public let family: FamilyTraitSet -} - public struct ChildAdded: NexusEvent { public let parent: EntityIdentifier public let child: EntityIdentifier diff --git a/Tests/FirebladeECSTests/FamilyTests.swift b/Tests/FirebladeECSTests/FamilyTests.swift index e80cd7e..d07e18f 100644 --- a/Tests/FirebladeECSTests/FamilyTests.swift +++ b/Tests/FirebladeECSTests/FamilyTests.swift @@ -73,11 +73,11 @@ class FamilyTests: XCTestCase { XCTAssertEqual(nexus.numComponents, 1) XCTAssertEqual(nexus.numEntities, 1) entity.remove(Position.self) - XCTAssertEqual(nexus.numFamilies, 0) + XCTAssertEqual(nexus.numFamilies, 1) XCTAssertEqual(nexus.numComponents, 0) XCTAssertEqual(nexus.numEntities, 1) nexus.destroy(entity: entity) - XCTAssertEqual(nexus.numFamilies, 0) + XCTAssertEqual(nexus.numFamilies, 1) XCTAssertEqual(nexus.numComponents, 0) XCTAssertEqual(nexus.numEntities, 0) } @@ -132,7 +132,7 @@ class FamilyTests: XCTestCase { entity.remove(velocity) } - XCTAssertEqual(familyA.count, 0) + XCTAssertEqual(familyA.count, 10) XCTAssertEqual(familyB.count, 0) }