#pragma once #include "KSeqForm.h" #include "KPrimitiveSpeedGrass.h" class CGrassColonyInfoContainer; class KSeqSpeedGrass : public KSeqForm { public: KSeqSpeedGrass(); virtual ~KSeqSpeedGrass(); void Clear(); virtual void Render( KViewportObject *viewport, DWORD flag = RENDEREFX_NONE, const K3DMatrix * pAttachMat = NULL ); virtual int Process( DWORD dwTime ); bool Load( class CTerrainSpeedGrass* pSpeedGrass, struct GrassColonyInfo* pGrassColonyInfo ); static void SetRenderDevice(class K3DRenderDevice* pDev) { m_pDev = pDev; } static void SetAccumTime( float fTime ) { m_fAccumTime = fTime; } static float GetAccumTime() { return m_fAccumTime; } //static void SetFadeDist() { float fDist ) { m_fFadeDist = fDist; } //static float GetFadeDist() { return m_fFadeDist; } //static void SetFadeLength( float fLength ) { m_fFadeLength = fLength; } //static float GetFadeLength() { return m_fFadeLength; } static void SetFadeDist( float fDist ); static void SetFadeLength( float fLength ); static float GetFadeDist(); static float GetFadeLength(); protected: static K3DRenderDevice* m_pDev; std::vector< KPrimitiveSpeedGrass* > m_vPrimitive; K3DVertex m_vtPos; static float m_fAccumTime; static float m_fFadeDist; static float m_fFadeLength; };