MCPcopy Create free account
hub / github.com/NazaraEngine/NazaraEngine / Filters

Method Filters

SDK/src/NDK/BaseSystem.cpp:35–58  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

33 */
34
35 bool BaseSystem::Filters(const Entity* entity) const
36 {
37 if (!entity)
38 return false;
39
40 const Nz::Bitset<>& components = entity->GetComponentBits();
41
42 m_filterResult.PerformsAND(m_requiredComponents, components);
43 if (m_filterResult != m_requiredComponents)
44 return false; // At least one required component is not available
45
46 m_filterResult.PerformsAND(m_excludedComponents, components);
47 if (m_filterResult.TestAny())
48 return false; // At least one excluded component is available
49
50 // If we have a list of needed components
51 if (m_requiredAnyComponents.TestAny())
52 {
53 if (!m_requiredAnyComponents.Intersects(components))
54 return false;
55 }
56
57 return true;
58 }
59
60 /*!
61 * \brief Sets the update order of this system

Callers 1

UpdateMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected