//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: Water LOD control entity. // // $NoKeywords: $ //=============================================================================// #include "cbase.h" #include "iviewrender.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" //------------------------------------------------------------------------------ // FIXME: This really should inherit from something more lightweight //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // Purpose : Water LOD control entity //------------------------------------------------------------------------------ class C_WaterLODControl : public C_BaseEntity { public: DECLARE_CLASS( C_WaterLODControl, C_BaseEntity ); DECLARE_CLIENTCLASS(); void OnDataChanged(DataUpdateType_t updateType); bool ShouldDraw(); private: float m_flCheapWaterStartDistance; float m_flCheapWaterEndDistance; }; IMPLEMENT_CLIENTCLASS_DT(C_WaterLODControl, DT_WaterLODControl, CWaterLODControl) RecvPropFloat(RECVINFO(m_flCheapWaterStartDistance)), RecvPropFloat(RECVINFO(m_flCheapWaterEndDistance)), END_RECV_TABLE() //------------------------------------------------------------------------------ // Purpose : // Input : // Output : //------------------------------------------------------------------------------ void C_WaterLODControl::OnDataChanged(DataUpdateType_t updateType) { view->SetCheapWaterStartDistance( m_flCheapWaterStartDistance ); view->SetCheapWaterEndDistance( m_flCheapWaterEndDistance ); } //------------------------------------------------------------------------------ // We don't draw... //------------------------------------------------------------------------------ bool C_WaterLODControl::ShouldDraw() { return false; }