Esempio n. 1
0
 public void QueueAddComponent(EntityComponentBase component)
 {
     using (WriteLock.CreateLock(m_componentsAddQueueLock))
     {
         m_componentsAddQueue.Add(component);
     }
 }
Esempio n. 2
0
        public EntityComponentBase GetBaseComponent(Type type)
        {
            EntityComponentBase componentOut = null;

            foreach (var comp in m_componentsSorted)
            {
                if (comp.Value.GetType().IsSubclassOf(type))
                {
                    componentOut = comp.Value;
                }
            }
            return(componentOut);
        }
Esempio n. 3
0
        public void AddComponentAsType(EntityComponentBase component, Type type)
        {
            using (UpgradeableReadLock.CreateLock(m_componentsSortedLock))
            {
                if (m_componentsSorted.ContainsKey(type.FullName.GetHashCode()))
                {
                    return;
                }

                using (WriteLock.CreateLock(m_componentsSortedLock))
                {
                    m_componentsSorted[type.FullName.GetHashCode()] = component;
                }
            }
        }