public void Log(object v)
 {
     if (IsDebugOn)
     {
         ECSDebug.Log(v);
     }
 }
 private int[] CreateQuery(Type[] args)
 {
     ECSDebug.Log("Created query with args " + args.Length);
     m_queries[args]            = new Bag <int>();
     m_queries[args].NULL_VALUE = -1;
     RefreshQuery(args);
     return(m_queries[args].GetAll().Clone() as int[]);
 }
        private void SortSystems()
        {
            m_sortedSystems = new List <ECSSystem>();

            Bag <ECSSystem> bag = m_systems.Clone();

            bag.ResizeToFit();

            List <ECSSystem> systems         = new List <ECSSystem>(bag.GetAll());
            List <ECSSystem> disabledSystems = new List <ECSSystem>();

            for (int i = systems.Count - 1; i >= 0; i--)
            {
                if (systems[i].IsEnabled() == false)
                {
                    disabledSystems.Add(systems[i]);
                    systems.RemoveAt(i);
                }
            }

            int       highestPriority       = int.MinValue;
            ECSSystem highestPriotitySystem = null;

            while (systems.Count > 0)
            {
                highestPriority       = int.MinValue;
                highestPriotitySystem = null;

                foreach (ECSSystem system in systems)
                {
                    if (system.UpdatePriority > highestPriority)
                    {
                        highestPriority       = system.UpdatePriority;
                        highestPriotitySystem = system;
                    }
                }

                systems.Remove(highestPriotitySystem);
                m_sortedSystems.Add(highestPriotitySystem);
            }

            foreach (ECSSystem disabledSystem in disabledSystems)
            {
                m_sortedSystems.Add(disabledSystem);
            }

            for (int i = 0; i < m_sortedSystems.Count; i++)
            {
                ECSDebug.Log(i + " - " + m_sortedSystems[i]);
            }
        }
Beispiel #4
0
 protected void Log(object v)
 {
     ECSDebug.Log(SYSTEM_LOG_PREFIX + v);
 }