コード例 #1
0
    void updateParticles()
    {
        float speedMultiplier = Player.instance.normalizedSpeed;

        for (int i = 0; i < _particles.Length; i++)
        {
            ParticleCacher pc   = _particles[i];
            var            main = pc.system.main;
            main.simulationSpeed = speedMultiplier;
            float baseSpeed = pc.defaultVelocityScale;
            pc.renderer.velocityScale = baseSpeed * (1f + (speedMultiplier - 1f) / 2f);
        }
    }
コード例 #2
0
    void Awake()
    {
        Assert.IsNull(inst, "Only one instance allowed!");
        inst = this;

        ParticleSystem[] particles = transform.parent.GetComponentsInChildren <ParticleSystem>();
        _particles = new ParticleCacher[particles.Length];
        for (int i = 0; i < particles.Length; i++)
        {
            ParticleCacher pc = new ParticleCacher();
            pc.system               = particles[i];
            pc.renderer             = particles[i].GetComponent <ParticleSystemRenderer>();
            pc.defaultVelocityScale = pc.renderer.velocityScale;
            _particles[i]           = pc;
        }

        initLanes();
    }