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.
64 lines
1.5 KiB
64 lines
1.5 KiB
//========= 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); |
|
virtual ~CFlashlightEffect(); |
|
|
|
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
|
|
|