public unsafe void Add(TypeManager.TypeInfo typeInfo) { if (m_TypeInfo[typeInfo.TypeIndex & TypeManager.ClearFlagsMask].StableTypeHash != 0) { return; } m_TypeInfo[typeInfo.TypeIndex & TypeManager.ClearFlagsMask] = new Layout { ElementSize = typeInfo.ElementSize, EntityOffsetCount = typeInfo.EntityOffsetCount, StableTypeHash = typeInfo.StableTypeHash, EntityOffsetPosition = m_EntityOffsets.Length }; if (typeInfo.HasEntities) { m_EntityOffsets.AddRange(TypeManager.GetEntityOffsets(typeInfo.TypeIndex), typeInfo.EntityOffsetCount * sizeof(TypeManager.EntityOffsetInfo)); } }