You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.1 KiB
66 lines
2.1 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: Shadow control entity. |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
#include "cbase.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 : Shadow control entity |
|
//------------------------------------------------------------------------------ |
|
class C_ShadowControl : public C_BaseEntity |
|
{ |
|
public: |
|
DECLARE_CLASS( C_ShadowControl, C_BaseEntity ); |
|
|
|
DECLARE_CLIENTCLASS(); |
|
|
|
void OnDataChanged(DataUpdateType_t updateType); |
|
bool ShouldDraw(); |
|
|
|
private: |
|
Vector m_shadowDirection; |
|
color32 m_shadowColor; |
|
float m_flShadowMaxDist; |
|
bool m_bDisableShadows; |
|
}; |
|
|
|
IMPLEMENT_CLIENTCLASS_DT(C_ShadowControl, DT_ShadowControl, CShadowControl) |
|
RecvPropVector(RECVINFO(m_shadowDirection)), |
|
RecvPropInt(RECVINFO(m_shadowColor)), |
|
RecvPropFloat(RECVINFO(m_flShadowMaxDist)), |
|
RecvPropBool(RECVINFO(m_bDisableShadows)), |
|
END_RECV_TABLE() |
|
|
|
|
|
//------------------------------------------------------------------------------ |
|
// Purpose : |
|
// Input : |
|
// Output : |
|
//------------------------------------------------------------------------------ |
|
void C_ShadowControl::OnDataChanged(DataUpdateType_t updateType) |
|
{ |
|
// Set the color, direction, distance... |
|
g_pClientShadowMgr->SetShadowDirection( m_shadowDirection ); |
|
g_pClientShadowMgr->SetShadowColor( m_shadowColor.r, m_shadowColor.g, m_shadowColor.b ); |
|
g_pClientShadowMgr->SetShadowDistance( m_flShadowMaxDist ); |
|
g_pClientShadowMgr->SetShadowsDisabled( m_bDisableShadows ); |
|
} |
|
|
|
//------------------------------------------------------------------------------ |
|
// We don't draw... |
|
//------------------------------------------------------------------------------ |
|
bool C_ShadowControl::ShouldDraw() |
|
{ |
|
return false; |
|
} |
|
|
|
|