hlsdk-xash3d/dlls/gearbox/grapple_tonguetip.h

63 lines
1.5 KiB
C++

/***
*
* Copyright (c) 1996-2001, Valve LLC. All rights reserved.
*
* This product contains software technology licensed from Id
* Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc.
* All Rights Reserved.
*
* Use, distribution, and modification of this source code and/or resulting
* object code is restricted to non-commercial enhancements to products from
* Valve LLC. All other use, distribution, or modification is prohibited
* without written permission from Valve LLC.
*
****/
#ifndef GRAPPLE_TONGUETIP_H
#define GRAPPLE_TONGUETIP_H
class CBarnacleGrappleTip : public CBaseEntity
{
public:
/* virtual int Save( CSave &save );
virtual int Restore( CRestore &restore );
static TYPEDESCRIPTION m_SaveData[];
*/
int targetClass;
void Precache();
void Spawn();
void FlyThink();
void OffsetThink();
void TongueTouch( CBaseEntity* pOther );
int CheckTarget( CBaseEntity* pTarget );
void SetPosition( Vector vecOrigin, Vector vecAngles, CBaseEntity* pOwner );
int GetGrappleType() const { return m_GrappleType; }
bool IsStuck() const { return m_bIsStuck; }
bool HasMissed() const { return m_bMissed; }
#ifndef CLIENT_DLL
EHANDLE& GetGrappleTarget() { return m_hGrappleTarget; }
void SetGrappleTarget( CBaseEntity* pTarget )
{
m_hGrappleTarget = pTarget;
}
#endif
private:
int m_GrappleType;
bool m_bIsStuck;
bool m_bMissed;
#ifndef CLIENT_DLL
EHANDLE m_hGrappleTarget;
#endif
Vector m_vecOriginOffset;
};
#endif // GRAPPLE_TONGUETIP_H