internal unsafe override void ExecuteModifiers(ModifierCollection modifiers, float elapsedSeconds, ref Particle particle, int index, int count) { foreach (var slot in modifiers.Slots) { slot.Update(elapsedSeconds, ref particle, index, count); } }
public ParticleBuffer(int size) { Size = size; Particles = new Particle { X = new float[Size], Y = new float[Size], VX = new float[Size], VY = new float[Size], Inception = new float[Size], Age = new float[Size], R = new float[Size], G = new float[Size], B = new float[Size], Opacity = new float[Size], Scale = new float[Size], Rotation = new float[Size], Mass = new float[Size], }; }
internal unsafe override void ExecuteModifiers(ModifierCollection modifiers, float elapsedSeconds, ref Particle particle, int index, int count) { var p = particle; System.Threading.Tasks.Parallel.ForEach(modifiers.Slots, slot => slot.Update(elapsedSeconds, ref p, index, count)); }
internal unsafe abstract void ExecuteModifiers(ModifierCollection modifiers, float elapsedSeconds, ref Particle particle, int index, int count);