/*** * * 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