ParticleSystemInfo DetermineType(ParticleSystemInfo psInfo, ChildParticleSystem childParticleSystem)
 {
     if (childParticleSystem.ourPSObjectType == ParticleSystemObjectTypes.aura)
     {
     }
     return(psInfo);
 }
 private void ScaleParticleSystems(float scale)
 {
     _allOrbSystems.ForEach(p => {
         ParticleSystemInfo starting = _startInfo[p];
         p.startSize  = starting.Size * scale;
         p.startSpeed = starting.Speed * scale;
     });
 }
        private void InitParticles()
        {
            // Orb particles are made up of multiple nested particle systems. We need
            // to scale and color all of them every time, so we'll track them in a way
            // that allows us to work on them as a batch.

            // This dictionary records the initial state of each particle system
            _startInfo = new Dictionary <ParticleSystem, ParticleSystemInfo>();

            _allOrbSystems = new List <ParticleSystem> {
                OrbParticles
            };
            _allOrbSystems.AddRange(OrbParticles.GetComponentsInChildren <ParticleSystem>());

            _allOrbSystems.ForEach(p => {
                _startInfo[p] = new ParticleSystemInfo(p);
                p.startColor  = DefaultColor;
            });
        }
    private void InitParticles() {
      // Orb particles are made up of multiple nested particle systems. We need
      // to scale and color all of them every time, so we'll track them in a way
      // that allows us to work on them as a batch.

      // This dictionary records the initial state of each particle system
      _startInfo = new Dictionary<ParticleSystem, ParticleSystemInfo>();

      _allOrbSystems = new List<ParticleSystem> { OrbParticles };
      _allOrbSystems.AddRange(OrbParticles.GetComponentsInChildren<ParticleSystem>());

      _allOrbSystems.ForEach(p => {
        _startInfo[p] = new ParticleSystemInfo(p);
        p.startColor = DefaultColor;
      });
    }