wheelsmoke.c 529 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. class EffWheelSmoke : EffectParticle
  2. {
  3. const float WHEEL_SMOKE_THRESHOLD = 5.0;
  4. void EffWheelSmoke()
  5. {
  6. }
  7. void SetSurface(string surface)
  8. {
  9. int particleID = Surface.GetWheelParticleID(surface);
  10. if (m_ParticleID != particleID)
  11. {
  12. if (particleID != 0)
  13. {
  14. SetParticleState(particleID);
  15. }
  16. else
  17. {
  18. Stop();
  19. }
  20. }
  21. }
  22. void SetParticleState( int state )
  23. {
  24. bool was_playing = IsPlaying();
  25. Stop();
  26. SetParticleID(state);
  27. if (was_playing)
  28. {
  29. Start(); // resume effect
  30. }
  31. }
  32. }