From 2a33e981181ec5e45be5f7046cfd41b0b778b2ca Mon Sep 17 00:00:00 2001 From: Christian Treffs Date: Fri, 7 Aug 2020 09:46:55 +0200 Subject: [PATCH] Add destroyMembers method to family --- Sources/FirebladeECS/Family.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Sources/FirebladeECS/Family.swift b/Sources/FirebladeECS/Family.swift index e5af189..eb7cd73 100644 --- a/Sources/FirebladeECS/Family.swift +++ b/Sources/FirebladeECS/Family.swift @@ -38,6 +38,13 @@ public struct Family where R: FamilyRequirementsManaging { public func isMember(_ entity: Entity) -> Bool { nexus.isMember(entity, in: traits) } + + /// Destroy all member entities of this family. + /// - Returns: True if entities where destroyed successfully, false otherwise. + @discardableResult + public func destroyMembers() -> Bool { + entities.reduce(!isEmpty) { $0 && nexus.destroy(entity: $1) } + } } extension Family: Equatable {