Files
HL2Overcharged/game/client/lasereffect.h
2025-05-21 21:09:22 +03:00

71 lines
1.7 KiB
C++

//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef LASEREFFECT_H
#define LASEREFFECT_H
#ifdef _WIN32
#pragma once
#endif
struct dlight_t;
class CLaserEffect
{
public:
CLaserEffect(int nEntIndex = 0);
~CLaserEffect();
virtual void UpdateLightLaser(const Vector &vecPos, const Vector &vecDir, const Vector &vecRight, const Vector &vecUp, int nDistance);
void TurnOnLaser();
void TurnOffLaser();
bool IsOnLaser(void) { return m_IsOnlaser; }
ClientShadowHandle_t laserHandle(void) { return m_laserHandle; }
void SetlaserHandle(ClientShadowHandle_t Handle) { m_laserHandle = Handle; }
protected:
void LightOffLaser();
void LightOffOldLaser();
void LightOffNewLaser();
virtual void UpdateLightProjectionLaser(FlashlightState_t &state);
void UpdateLightNewLaser(const Vector &vecPos, const Vector &vecDir, const Vector &vecRight, const Vector &vecUp);
void UpdateLightOldLaser(const Vector &vecPos, const Vector &vecDir, int nDistance);
bool m_IsOnlaser;
int m_nEntIndexlaser;
// ClientShadowHandle_t m_FlashlightHandle;
ClientShadowHandle_t m_laserHandle;
// Vehicle headlight dynamic light pointer
dlight_t *m_pPointLightlaser;
float m_flDistModlaser;
// Texture for flashlight
// CTextureReference m_FlashlightTexture;
//For laser dot
CTextureReference m_laserTexture;
};
/*
class CHeadlightlaserEffect : public CLaserEffect
{
public:
CHeadlightlaserEffect();
~CHeadlightlaserEffect();
virtual void UpdateLightLaser(const Vector &vecPos, const Vector &vecDir, const Vector &vecRight, const Vector &vecUp, int nDistance);
};
*/
#endif // FLASHLIGHTEFFECT_H