updateConfig method

void updateConfig(
  1. Map config
)

Implementation

void updateConfig(Map config) {
  _emitterType = _ensureInt(config['emitterType']);
  _locationX = _ensureNum(config['location']['x']);
  _locationY = _ensureNum(config['location']['y']);

  _maxNumParticles = _ensureInt(config['maxParticles']);
  _duration = _ensureNum(config['duration']);
  _lifespan = _ensureNum(config['lifeSpan']);
  _lifespanVariance = _ensureNum(config['lifespanVariance']);
  _startSize = _ensureNum(config['startSize']);
  _startSizeVariance = _ensureNum(config['startSizeVariance']);
  _endSize = _ensureNum(config['finishSize']);
  _endSizeVariance = _ensureNum(config['finishSizeVariance']);
  _shape = config['shape'];

  _locationXVariance = _ensureNum(config['locationVariance']['x']);
  _locationYVariance = _ensureNum(config['locationVariance']['y']);
  _speed = _ensureNum(config['speed']);
  _speedVariance = _ensureNum(config['speedVariance']);
  _angle = _ensureNum(config['angle']) * pi / 180.0;
  _angleVariance = _ensureNum(config['angleVariance']) * pi / 180.0;
  _gravityX = _ensureNum(config['gravity']['x']);
  _gravityY = _ensureNum(config['gravity']['y']);
  _radialAcceleration = _ensureNum(config['radialAcceleration']);
  _radialAccelerationVariance =
      _ensureNum(config['radialAccelerationVariance']);
  _tangentialAcceleration = _ensureNum(config['tangentialAcceleration']);
  _tangentialAccelerationVariance =
      _ensureNum(config['tangentialAccelerationVariance']);

  _minRadius = _ensureNum(config['minRadius']);
  _maxRadius = _ensureNum(config['maxRadius']);
  _maxRadiusVariance = _ensureNum(config['maxRadiusVariance']);
  _rotatePerSecond = _ensureNum(config['rotatePerSecond']) * pi / 180.0;
  _rotatePerSecondVariance =
      _ensureNum(config['rotatePerSecondVariance']) * pi / 180.0;

  _compositeOperation = config['compositeOperation'];
  _startColor = _ParticleColor.fromJSON(config['startColor']);
  _endColor = _ParticleColor.fromJSON(config['finishColor']);

  if (_duration <= 0) _duration = double.infinity;
  _emissionTime = _duration;

  _drawParticleTexture();
}