public void addHitSpots(SLaser laser) { var newHitSpot = new HitSpotData(laser, (ushort)(_nextEffectorMask + 1), _nextEffectorMask); _nextEffectorMask += 2; if (_nextEffectorMask == 0) // 0 is reserved for the global smoke dimmer { _nextEffectorMask = 2; } _hitSpots.Add(laser, newHitSpot); foreach (var emitter in newHitSpot.emitters()) { base.addEmitter(emitter); } foreach (var effector in newHitSpot.effectors()) { base.addEffector(effector); } // update global smoke smoke effectors with particle lifetime float newFlameSmokeDuration = laser.parameters.flameSmokeLifetime; _globalSmokeDimmerEffector.particleLifetime = newFlameSmokeDuration; _globalSmokeScaleEffector.particleLifetime = newFlameSmokeDuration; }
public void addHitSpots(SLaser laser) { var newHitSpot = new HitSpotData (laser, (ushort)(_nextEffectorMask + 1), _nextEffectorMask); _nextEffectorMask += 2; if (_nextEffectorMask == 0) { // 0 is reserved for the global smoke dimmer _nextEffectorMask = 2; } _hitSpots.Add(laser, newHitSpot); foreach (var emitter in newHitSpot.emitters()) { base.addEmitter(emitter); } foreach (var effector in newHitSpot.effectors()) { base.addEffector(effector); } // update global smoke smoke effectors with particle lifetime float newFlameSmokeDuration = laser.parameters.flameSmokeLifetime; _globalSmokeDimmerEffector.particleLifetime = newFlameSmokeDuration; _globalSmokeScaleEffector.particleLifetime = newFlameSmokeDuration; }