public T GetSharedComponentData <T>(Entity entity) where T : struct, ISharedComponentData { var typeIndex = TypeManager.GetTypeIndex <T>(); m_Entities->AssertEntityHasComponent(entity, typeIndex); var sharedComponentIndex = m_Entities->GetSharedComponentDataIndex(entity, typeIndex); return(m_SharedComponentManager.GetSharedComponentData <T>(sharedComponentIndex)); }
public T this[int index] { get { #if ENABLE_UNITY_COLLECTIONS_CHECKS AtomicSafetyHandle.CheckReadAndThrow(m_Safety); if ((uint)index >= (uint)Length) { FailOutOfRangeError(index); } #endif if (index < m_Cache.CachedBeginIndex || index >= m_Cache.CachedEndIndex) { m_Iterator.MoveToEntityIndexAndUpdateCache(index, out m_Cache, false); } var sharedComponent = m_Iterator.GetSharedComponentFromCurrentChunk(m_sharedComponentIndex); return(m_sharedComponentDataManager.GetSharedComponentData <T>(sharedComponent)); } }