private void UpdateEnabledInterfacesCache()
{
_enabledInterfaces.Clear();
for (var i = 0; i < _componentCache.Length; i++)
{
var queryableComponent = _componentCache[i] as IQueryableComponent;
if (queryableComponent != null)
{
_enabledInterfaces.UnionWith(queryableComponent.EnabledInterfaces);
}
else if (_componentCache[i] != null)
{
_enabledInterfaces.UnionWith(_componentCache[i].GetType().GetInterfaces());
}
}
AddAdditionalEnabledInterfaces(_enabledInterfaces);
}