2013-06-27 06:22:04 +08:00
|
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
|
|
//
|
|
|
|
// Purpose:
|
|
|
|
//
|
|
|
|
//=============================================================================//
|
|
|
|
|
|
|
|
#ifndef FLASHLIGHTEFFECT_H
|
|
|
|
#define FLASHLIGHTEFFECT_H
|
|
|
|
#ifdef _WIN32
|
|
|
|
#pragma once
|
|
|
|
#endif
|
|
|
|
|
|
|
|
struct dlight_t;
|
|
|
|
|
|
|
|
|
|
|
|
class CFlashlightEffect
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
|
|
|
CFlashlightEffect(int nEntIndex = 0);
|
2014-10-31 00:30:57 +08:00
|
|
|
virtual ~CFlashlightEffect();
|
2013-06-27 06:22:04 +08:00
|
|
|
|
|
|
|
virtual void UpdateLight(const Vector &vecPos, const Vector &vecDir, const Vector &vecRight, const Vector &vecUp, int nDistance);
|
|
|
|
void TurnOn();
|
|
|
|
void TurnOff();
|
|
|
|
bool IsOn( void ) { return m_bIsOn; }
|
|
|
|
|
|
|
|
ClientShadowHandle_t GetFlashlightHandle( void ) { return m_FlashlightHandle; }
|
|
|
|
void SetFlashlightHandle( ClientShadowHandle_t Handle ) { m_FlashlightHandle = Handle; }
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
void LightOff();
|
|
|
|
void LightOffOld();
|
|
|
|
void LightOffNew();
|
|
|
|
|
|
|
|
void UpdateLightNew(const Vector &vecPos, const Vector &vecDir, const Vector &vecRight, const Vector &vecUp);
|
|
|
|
void UpdateLightOld(const Vector &vecPos, const Vector &vecDir, int nDistance);
|
|
|
|
|
|
|
|
bool m_bIsOn;
|
|
|
|
int m_nEntIndex;
|
|
|
|
ClientShadowHandle_t m_FlashlightHandle;
|
|
|
|
|
|
|
|
// Vehicle headlight dynamic light pointer
|
|
|
|
dlight_t *m_pPointLight;
|
|
|
|
float m_flDistMod;
|
|
|
|
|
|
|
|
// Texture for flashlight
|
|
|
|
CTextureReference m_FlashlightTexture;
|
|
|
|
};
|
|
|
|
|
|
|
|
class CHeadlightEffect : public CFlashlightEffect
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
|
|
|
CHeadlightEffect();
|
|
|
|
~CHeadlightEffect();
|
|
|
|
|
|
|
|
virtual void UpdateLight(const Vector &vecPos, const Vector &vecDir, const Vector &vecRight, const Vector &vecUp, int nDistance);
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif // FLASHLIGHTEFFECT_H
|