示例#1
0
    protected virtual void SpawnParticles()
    {
        ParticleEffect explodeEffect = PoolManager.GetPoolItem <ParticleEffect>(explodeID);

        int     particleCount            = 5;
        Vector3?spawnPos                 = transform.position;
        ParticleSystemOverride overrides = null;
        Vector3?  spawnRot               = null;
        float     spawnDelay             = 0.0f;
        float?    sortYOffset            = null;
        Transform followTransform        = null;

        explodeEffect.Emit(particleCount, spawnPos, overrides, spawnRot, spawnDelay, sortYOffset, followTransform);
    }
示例#2
0
    protected void SpawnParticles(int?_particleCount = null, string _effectID = null)
    {
        // get a particle effect system
        ParticleEffect effect;

        if (_effectID == null)
        {
            effect = PoolManager.GetPoolItem <ParticleEffect>();
        }
        else
        {
            effect = PoolManager.GetPoolItem <ParticleEffect>(_effectID);
        }

        Vector3?spawnPos = parent.transform.position;           // spawn position
        ParticleSystemOverride overrides = null;                // particle system overrides, can override things like particle lifetime, spawn rate, and particle size
        Vector3?  localRotation          = null;                // optional rotation to spawn
        float     delayTime       = 0.0f;                       // time to wait before spawning
        float?    sortYOffset     = null;                       // bias for rendering particles above other objects based on vertical position
        Transform followTransform = null;                       // an object the particles should move towards, will set emitter position to the objects position

        effect.Emit(_particleCount, spawnPos, overrides, localRotation, delayTime, sortYOffset, followTransform);
    }