mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-28 09:03:01 +00:00
65 lines
1.5 KiB
C++
65 lines
1.5 KiB
C++
//========= 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
|