mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-16 05:37:00 +00:00
1
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef C_OBJ_SENTRYGUN_H
|
||||
#define C_OBJ_SENTRYGUN_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Base Sentrygun
|
||||
//-----------------------------------------------------------------------------
|
||||
class C_ObjectSentrygun : public C_BaseObject
|
||||
{
|
||||
DECLARE_CLASS( C_ObjectSentrygun, C_BaseObject );
|
||||
public:
|
||||
DECLARE_CLIENTCLASS();
|
||||
DECLARE_ENTITY_PANEL();
|
||||
|
||||
C_ObjectSentrygun();
|
||||
virtual void GetBoneControllers(float controllers[MAXSTUDIOBONES]);
|
||||
virtual int DrawModel( int flags );
|
||||
virtual void SetDormant( bool bDormant );
|
||||
virtual void PreDataUpdate( DataUpdateType_t updateType );
|
||||
virtual void PostDataUpdate( DataUpdateType_t updateType );
|
||||
virtual void OnDataChanged( DataUpdateType_t updateType );
|
||||
virtual float GetInitialBuilderYaw();
|
||||
int GetAmmoLeft( void ) { return m_iAmmo; }
|
||||
virtual void FinishedBuilding( void );
|
||||
|
||||
virtual void ClientThink( void );
|
||||
|
||||
private:
|
||||
bool IsTurtled( void ) { return m_bTurtled; }
|
||||
|
||||
// Turret Functions
|
||||
bool MoveTurret( void );
|
||||
|
||||
// Recompute sentrygun orientation...
|
||||
void RecomputeOrientation();
|
||||
|
||||
public:
|
||||
|
||||
int m_iRightBound;
|
||||
int m_iLeftBound;
|
||||
bool m_bTurningRight;
|
||||
|
||||
// Movement
|
||||
int m_iBaseTurnRate;
|
||||
float m_fTurnRate;
|
||||
QAngle m_vecCurAngles;
|
||||
QAngle m_vecGoalAngles;
|
||||
Vector m_vecCurDishAngles;
|
||||
|
||||
float m_fBoneXRotator;
|
||||
float m_fBoneYRotator;
|
||||
int m_iAmmo;
|
||||
|
||||
// Turtling
|
||||
bool m_bTurtled;
|
||||
bool m_bLastTurtled;
|
||||
float m_flStartedTurtlingAt;
|
||||
float m_flStartedUnTurtlingAt;
|
||||
|
||||
int m_nAnimationParity;
|
||||
int m_nLastAnimationParity;
|
||||
|
||||
// Networked from server
|
||||
EHANDLE m_hEnemy;
|
||||
|
||||
|
||||
QAngle m_angPrevLocalAngles;
|
||||
int m_nOrientationParity;
|
||||
int m_nPrevOrientationParity;
|
||||
|
||||
private:
|
||||
C_ObjectSentrygun( const C_ObjectSentrygun & ); // not defined, not accessible
|
||||
};
|
||||
|
||||
class C_ObjectSentrygunPlasma : public C_ObjectSentrygun
|
||||
{
|
||||
DECLARE_CLASS( C_ObjectSentrygunPlasma, C_ObjectSentrygun );
|
||||
public:
|
||||
C_ObjectSentrygunPlasma();
|
||||
DECLARE_CLIENTCLASS();
|
||||
|
||||
private:
|
||||
C_ObjectSentrygunPlasma( const C_ObjectSentrygunPlasma & ); // not defined, not accessible
|
||||
};
|
||||
|
||||
class C_ObjectSentrygunRocketlauncher : public C_ObjectSentrygun
|
||||
{
|
||||
DECLARE_CLASS( C_ObjectSentrygunRocketlauncher, C_ObjectSentrygun );
|
||||
public:
|
||||
C_ObjectSentrygunRocketlauncher();
|
||||
DECLARE_CLIENTCLASS();
|
||||
|
||||
private:
|
||||
C_ObjectSentrygunRocketlauncher( const C_ObjectSentrygunRocketlauncher & ); // not defined, not accessible
|
||||
};
|
||||
|
||||
#endif // C_OBJ_SENTRYGUN_H
|
||||
Reference in New Issue
Block a user