private static EntityArchetypeQuery GetQueryForGroup(ComponentGroup group) { if (!queriesByGroup.ContainsKey(group)) { var query = new EntityArchetypeQuery() { All = group.GetQueryTypes().Where(x => x.AccessModeType != ComponentType.AccessMode.Exclude).ToArray(), Any = new ComponentType[0], None = group.GetQueryTypes().Where(x => x.AccessModeType == ComponentType.AccessMode.Exclude).ToArray() }; queriesByGroup.Add(group, query); } return(queriesByGroup[group]); }