示例#1
0
 public ASystemProcess(ASystem system, params Type[] components)
 {
     m_system     = system;
     m_compoTypes = new List <Type>();
     m_compoTypes.AddRange(components);
     EntityList = new CEntityList();
 }
示例#2
0
 protected void InternalAddSystem(ASystem system)
 {
     foreach (var entityPair in m_entityDict)
     {
         system.Process.MatchAdd(entityPair.Value);
     }
 }
示例#3
0
        public bool InsertAfter(ASystem system, ASystem afterSys)
        {
            bool hasFind = false;

            for (int i = 0; i < m_systems.Count; ++i)
            {
                if (m_systems[i].Name == afterSys.Name)
                {
                    hasFind = true;
                    m_systems.Insert(i + 1, system);
                    break;
                }
            }
            if (!hasFind)
            {
                throw new NotFindSystemException(afterSys.Name);
            }
            return(hasFind);
        }
示例#4
0
 public void RemoveSystem(ASystem system)
 {
     m_systems.Remove(system);
 }
示例#5
0
 public void AddSystem(ASystem system)
 {
     m_systems.Add(system);
 }
示例#6
0
 public void AddPhysicSys(ASystem system)
 {
     m_physicPhase.AddSystem(system);
     InternalAddSystem(system);
 }
示例#7
0
 public void AddLogicSys(ASystem system)
 {
     m_logicPhase.AddSystem(system);
     InternalAddSystem(system);
 }
示例#8
0
 public CSystemProcess(ASystem system, params Type[] components) : base(system, components)
 {
 }