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.
53 lines
1.5 KiB
53 lines
1.5 KiB
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======// |
|
// |
|
// Purpose: Ambient light controller entity. |
|
// |
|
// $NoKeywords: $ |
|
//===========================================================================// |
|
|
|
#include "cbase.h" |
|
#include "spatialentity.h" |
|
#include "env_ambient_light.h" |
|
|
|
// memdbgon must be the last include file in a .cpp file!!! |
|
#include "tier0/memdbgon.h" |
|
|
|
|
|
#define AMBIENT_LIGHT_ENT_THINK_RATE TICK_INTERVAL |
|
|
|
LINK_ENTITY_TO_CLASS(env_ambient_light, CEnvAmbientLight); |
|
|
|
BEGIN_DATADESC( CEnvAmbientLight ) |
|
DEFINE_KEYFIELD( m_Color, FIELD_COLOR32, "Color" ), |
|
DEFINE_FIELD( m_vecColor, FIELD_VECTOR ), |
|
DEFINE_INPUTFUNC( FIELD_COLOR32, "SetColor", InputSetColor ), |
|
END_DATADESC() |
|
|
|
IMPLEMENT_SERVERCLASS_ST(CEnvAmbientLight, DT_EnvAmbientLight) |
|
SendPropVector( SENDINFO(m_vecColor), 0, SPROP_NOSCALE), |
|
END_SEND_TABLE() |
|
|
|
|
|
void CEnvAmbientLight::Spawn( void ) |
|
{ |
|
BaseClass::Spawn(); |
|
|
|
m_vecColor.SetX( static_cast<float>( m_Color.r ) / 255.0f ); |
|
m_vecColor.SetY( static_cast<float>( m_Color.g ) / 255.0f ); |
|
m_vecColor.SetZ( static_cast<float>( m_Color.b ) / 255.0f ); |
|
} |
|
|
|
|
|
void CEnvAmbientLight::InputSetColor(inputdata_t &inputdata) |
|
{ |
|
m_Color = inputdata.value.Color32(); |
|
m_vecColor.SetX( static_cast<float>( m_Color.r ) / 255.0f ); |
|
m_vecColor.SetY( static_cast<float>( m_Color.g ) / 255.0f ); |
|
m_vecColor.SetZ( static_cast<float>( m_Color.b ) / 255.0f ); |
|
} |
|
|
|
|
|
void CEnvAmbientLight::SetColor( const Vector &vecColor ) |
|
{ |
|
m_vecColor = vecColor; |
|
} |