Revert family removal

This commit is contained in:
Christian Treffs 2020-04-30 22:18:46 +02:00
parent 68b79de729
commit 041d556dc9
No known key found for this signature in database
GPG Key ID: 49A4B4B460BE3ED4
3 changed files with 3 additions and 17 deletions

View File

@ -13,7 +13,6 @@ extension Nexus {
}
familyMembersByTraits[traits] = UnorderedSparseSet<EntityIdentifier>()
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))
}
}
}

View File

@ -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

View File

@ -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)
}