63 lines
1.6 KiB
C++
63 lines
1.6 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef CAMERA_H
|
|
#define CAMERA_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "cbase.h"
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose:
|
|
//-----------------------------------------------------------------------------
|
|
class CPointCamera : public CBaseEntity {
|
|
public:
|
|
DECLARE_CLASS(CPointCamera, CBaseEntity);
|
|
DECLARE_SERVERCLASS();
|
|
DECLARE_DATADESC();
|
|
CPointCamera();
|
|
~CPointCamera();
|
|
|
|
void Spawn(void);
|
|
|
|
// Tell the client that this camera needs to be rendered
|
|
void SetActive(bool bActive);
|
|
int UpdateTransmitState(void);
|
|
|
|
void ChangeFOVThink(void);
|
|
|
|
void InputChangeFOV(inputdata_t &inputdata);
|
|
void InputSetOnAndTurnOthersOff(inputdata_t &inputdata);
|
|
void InputSetOn(inputdata_t &inputdata);
|
|
void InputSetOff(inputdata_t &inputdata);
|
|
|
|
private:
|
|
float m_TargetFOV;
|
|
float m_DegreesPerSecond;
|
|
|
|
CNetworkVar(float, m_FOV);
|
|
CNetworkVar(float, m_Resolution);
|
|
CNetworkVar(bool, m_bFogEnable);
|
|
CNetworkColor32(m_FogColor);
|
|
CNetworkVar(float, m_flFogStart);
|
|
CNetworkVar(float, m_flFogEnd);
|
|
CNetworkVar(float, m_flFogMaxDensity);
|
|
CNetworkVar(bool, m_bActive);
|
|
CNetworkVar(bool, m_bUseScreenAspectRatio);
|
|
|
|
// Allows the mapmaker to control whether a camera is active or not
|
|
bool m_bIsOn;
|
|
|
|
public:
|
|
CPointCamera *m_pNext;
|
|
};
|
|
|
|
CPointCamera *GetPointCameraList();
|
|
#endif // CAMERA_H
|