Revert family removal
This commit is contained in:
parent
68b79de729
commit
041d556dc9
|
|
@ -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))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue