public void addQuery(QueryKey queryKey) { if (queryKey.components.Count() <= 0) { return; } if (queries.ContainsKey(queryKey)) { return; } queries.Add(queryKey, new QueryResults()); }
/// <summary> /// Update the systems per frame. /// </summary> /// <param name="deltaTime"></param> public void execute(float deltaTime) { if (!enabled) { return; } Dictionary <Type, System> systems = systemManager.getSystems(); foreach (Type systemKey in systemManager.OrderedSystemKeys) { QueryKey queryKey = systems[systemKey].queryKey; QueryResults query = queryManager.getQuery(queryKey); foreach (Entity entity in query.added) { systems[systemKey].execute(deltaTime, entity); } } }