protected override FPoint SetParticleSpawnPosition(out bool doSpawn) { var len = FloatMath.GetRangedRandom(0, vectorPath.Length); var pos = vectorPath.Get(len); doSpawn = true; return(Position + (pos - vectorPathCenter)); }
protected override FPoint SetParticleSpawnPosition(out bool doSpawn) { var len = FloatMath.GetRangedRandom(0, vectorPath.Length); float mintime = animationInitialDelay + animationLength * (len / vectorPath.Length); var pos = vectorPath.Get(len); doSpawn = (mintime < internalTime); return(Position + (pos - vectorPathCenter)); }
protected override void InitializeParticle(GPUParticle p, int index, int count) { var pos = vectorPath.Get(index * vectorPath.Length / count); p.StartPosition = pos.RelativeTo(vectorPathCenter); }