Example #1
0
 public void addQuery(QueryKey queryKey)
 {
     if (queryKey.components.Count() <= 0)
     {
         return;
     }
     if (queries.ContainsKey(queryKey))
     {
         return;
     }
     queries.Add(queryKey, new QueryResults());
 }
Example #2
0
        /// <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);
                }
            }
        }