public void Execute(ArchetypeChunk chunk, int chunkIndex, int firstEntityIndex) { var attributeModifierValuesChunk = chunk.GetNativeArray(AttributeModifierValuesHandle); for (var i = 0; i < chunk.Count; i++) { TAttributeModifier attributeModifierValue = new TAttributeModifier(); attributeModifierValuesChunk[i] = attributeModifierValue; } }
public void Execute(ArchetypeChunk chunk, int chunkIndex, int firstEntityIndex) { var attributeModifierValuesChunk = chunk.GetNativeArray(AttributeModifierValuesHandle); var entityChunk = chunk.GetNativeArray(EntitiesHandle); for (var i = 0; i < chunk.Count; i++) { var entity = entityChunk[i]; TAttributeModifier attributeModifierValue = new TAttributeModifier(); if (AttributeModifierCollection.TryGetFirstValue(entity, out var modifier, out var iterator)) { modifier.UpdateAttribute(ref attributeModifierValue); while (AttributeModifierCollection.TryGetNextValue(out modifier, ref iterator)) { modifier.UpdateAttribute(ref attributeModifierValue); } } attributeModifierValuesChunk[i] = attributeModifierValue; } }