IParticleFadeOutAffector.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // Copyright (C) 2002-2012 Nikolaus Gebhardt
  2. // This file is part of the "Irrlicht Engine".
  3. // For conditions of distribution and use, see copyright notice in irrlicht.h
  4. #ifndef __I_PARTICLE_FADE_OUT_AFFECTOR_H_INCLUDED__
  5. #define __I_PARTICLE_FADE_OUT_AFFECTOR_H_INCLUDED__
  6. #include "IParticleAffector.h"
  7. namespace irr
  8. {
  9. namespace scene
  10. {
  11. //! A particle affector which fades out the particles.
  12. class IParticleFadeOutAffector : public IParticleAffector
  13. {
  14. public:
  15. //! Sets the targetColor, i.e. the color the particles will interpolate to over time.
  16. virtual void setTargetColor( const video::SColor& targetColor ) = 0;
  17. //! Sets the time in milliseconds it takes for each particle to fade out (minimal 1 ms)
  18. virtual void setFadeOutTime( u32 fadeOutTime ) = 0;
  19. //! Gets the targetColor, i.e. the color the particles will interpolate to over time.
  20. virtual const video::SColor& getTargetColor() const = 0;
  21. //! Gets the time in milliseconds it takes for each particle to fade out.
  22. virtual u32 getFadeOutTime() const = 0;
  23. //! Get emitter type
  24. virtual E_PARTICLE_AFFECTOR_TYPE getType() const _IRR_OVERRIDE_ { return EPAT_FADE_OUT; }
  25. };
  26. } // end namespace scene
  27. } // end namespace irr
  28. #endif // __I_PARTICLE_FADE_OUT_AFFECTOR_H_INCLUDED__