mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-01-05 17:13:36 +08:00
114 lines
3.6 KiB
C++
114 lines
3.6 KiB
C++
#ifndef _DEFINED_C_ASW_COMPUTER_AREA_H
|
|
#define _DEFINED_C_ASW_COMPUTER_AREA_H
|
|
|
|
#include "c_asw_use_area.h"
|
|
|
|
class C_ASW_Door;
|
|
class C_ASW_Player;
|
|
|
|
class C_ASW_Computer_Area : public C_ASW_Use_Area
|
|
{
|
|
DECLARE_CLASS( C_ASW_Computer_Area, C_ASW_Use_Area );
|
|
DECLARE_CLIENTCLASS();
|
|
public:
|
|
C_ASW_Computer_Area();
|
|
|
|
bool IsLocked() { return m_bIsLocked; }
|
|
int GetHackLevel() { return m_iHackLevel; }
|
|
C_ASW_Door* GetDoor();
|
|
|
|
Class_T Classify( void ) { return (Class_T) CLASS_ASW_COMPUTER_AREA; }
|
|
|
|
// accessors for icons
|
|
int GetLockedIconTextureID();
|
|
const char* GetLockedIconText() { return "#asw_attempt_access"; }
|
|
int GetOpenIconTextureID();
|
|
const char* GetOpenIconText() { return "#asw_open"; }
|
|
int GetCloseIconTextureID();
|
|
const char* GetCloseIconText() { return "#asw_close"; }
|
|
int GetUseIconTextureID();
|
|
const char* GetUseIconText() { return "#asw_access_terminal"; }
|
|
int GetHackIconTextureID();
|
|
const char* GetHackIconText() { return "#asw_access_terminal"; }
|
|
int GetUseIconPDATextureID();
|
|
const char* GetUseIconPDAText() { return "#asw_access_pda"; }
|
|
|
|
virtual float GetTumblerProgress(C_ASW_Marine *pUser);
|
|
virtual bool GetUseAction(ASWUseAction &action, C_ASW_Marine *pUser);
|
|
virtual void CustomPaint( int ix, int iy, int alpha, vgui::Panel *pUseIcon ) { }
|
|
virtual C_BaseEntity* GetGlowEntity() { return m_hPanelProp.Get(); }
|
|
|
|
int GetNumMenuOptions();
|
|
|
|
CNetworkString( m_MailFile, 255 );
|
|
CNetworkString( m_NewsFile, 255 );
|
|
CNetworkString( m_StocksSeed, 255 );
|
|
CNetworkString( m_WeatherSeed, 255 );
|
|
CNetworkString( m_PlantFile, 255 );
|
|
CNetworkString( m_PDAName, 255 );
|
|
|
|
CNetworkString( m_SecurityCamLabel1, 255 );
|
|
CNetworkString( m_SecurityCamLabel2, 255 );
|
|
CNetworkString( m_SecurityCamLabel3, 255 );
|
|
CNetworkString( m_TurretLabel1, 255 );
|
|
CNetworkString( m_TurretLabel2, 255 );
|
|
CNetworkString( m_TurretLabel3, 255 );
|
|
|
|
CNetworkString( m_DownloadObjectiveName, 255 );
|
|
CNetworkVar( bool, m_bDownloadedDocs );
|
|
|
|
CNetworkVar( bool, m_bSecurityCam1Locked );
|
|
CNetworkVar( bool, m_bTurret1Locked );
|
|
CNetworkVar( bool, m_bMailFileLocked );
|
|
CNetworkVar( bool, m_bNewsFileLocked );
|
|
CNetworkVar( bool, m_bStocksFileLocked );
|
|
CNetworkVar( bool, m_bWeatherFileLocked );
|
|
CNetworkVar( bool, m_bPlantFileLocked );
|
|
|
|
CNetworkHandle( CBaseEntity, m_hSecurityCam1 );
|
|
CNetworkHandle( CBaseEntity, m_hTurret1 );
|
|
|
|
// traditional Swarm hacking
|
|
float GetHackProgress() { return m_fHackProgress; }
|
|
CNetworkVar(bool, m_bIsInUse);
|
|
CNetworkVar(float, m_fHackProgress);
|
|
|
|
bool IsWaitingForInput( void ) const { return m_bWaitingForInput; }
|
|
int m_iActiveCam;
|
|
|
|
// does this computer area represent a PDA instead of a typical computer?
|
|
bool IsPDA();
|
|
|
|
void PlayPositiveSound(C_ASW_Player *pPlayer);
|
|
void PlayNegativeSound(C_ASW_Player *pPlayer);
|
|
float m_fLastPositiveSoundTime;
|
|
|
|
protected:
|
|
bool m_bIsLocked;
|
|
bool m_bWaitingForInput;
|
|
bool m_bOldWaitingForInput;
|
|
int m_iHackLevel;
|
|
float m_fDownloadTime;
|
|
C_ASW_Computer_Area( const C_ASW_Computer_Area & ); // not defined, not accessible
|
|
|
|
// icons used to interact with computers
|
|
static bool s_bLoadedLockedIconTexture;
|
|
static int s_nLockedIconTextureID;
|
|
|
|
static bool s_bLoadedOpenIconTexture;
|
|
static int s_nOpenIconTextureID;
|
|
|
|
static bool s_bLoadedCloseIconTexture;
|
|
static int s_nCloseIconTextureID;
|
|
|
|
static bool s_bLoadedUseIconTexture;
|
|
static int s_nUseIconTextureID;
|
|
|
|
static bool s_bLoadedHackIconTexture;
|
|
static int s_nHackIconTextureID;
|
|
|
|
static bool s_bLoadedUseIconPDA;
|
|
static int s_nUseIconPDA;
|
|
};
|
|
|
|
#endif /* _DEFINED_C_ASW_COMPUTER_AREA_H */ |