/* ZStandardParticleUpdateStrategy.h Author: James Russell Purpose: TODO Changelog 2011/09/11 - creation (jcrussell) */ #pragma once #ifndef _ZSTANDARDPARTICLEUPDATESTRATEGY_H #define _ZSTANDARDPARTICLEUPDATESTRATEGY_H #include #define ZSP_DEFAULT_ENERGY_BLEED (1) #define ZSP_DEFAULT_ACCELERATION_X (0.0f) #define ZSP_DEFAULT_ACCELERATION_Y (0.0f) #define ZSP_DEFAULT_ACCELERATION_Z (0.5f) class ZStandardParticleUpdateStrategy : public ZParticleUpdateStrategy { protected: //Acceleration Vector ZVector3f ParticleAcceleration; //Energy drop per ms size_t EnergyBleed; public: /* Default Constructor. */ ZStandardParticleUpdateStrategy(); /* Destructor. */ ~ZStandardParticleUpdateStrategy(); /* public ZStandardParticleUpdateStrategy::GetEnergyBleed TODO @return (const size_t) @context (all) */ const size_t GetEnergyBleed(); /* public ZStandardParticleUpdateStrategy::GetParticleAcceleration TODO @return (const ZVector3f) @context (all) */ const ZVector3f GetParticleAcceleration(); /* public ZStandardParticleUpdateStrategy::SetEnergyBleed TODO @param _bleedRate - @return (void) @context (all) */ void SetEnergyBleed(size_t _bleedRate); /* public ZStandardParticleUpdateStrategy::SetParticleAcceleration TODO @param _accel - @return (void) @context (all) */ void SetParticleAcceleration(const ZVector3f& _accel); //Subclass Implementation virtual bool CheckParticleFormat( const ZString& _format ); //Subclass Implementation virtual void UpdateParticles(ZParticleEffect* _particleEffect, ZParticleEmitter* _particleEmitter, ZParticleStorageAllocator* _storageAllocator, size_t _dt ); }; #endif