Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        protected override void InitializeParticle(GPUParticle p, int index, int count)
        {
            var pos = vectorPath.Get(index * vectorPath.Length / count);

            p.StartPosition = pos.RelativeTo(vectorPathCenter);
        }