You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.6 KiB
64 lines
1.6 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
// $NoKeywords: $
|
||
|
//=============================================================================//
|
||
|
|
||
|
#ifndef FUNC_MOVELINEAR_H
|
||
|
#define FUNC_MOVELINEAR_H
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "basetoggle.h"
|
||
|
#include "entityoutput.h"
|
||
|
|
||
|
|
||
|
class IPhysicsFluidController;
|
||
|
|
||
|
|
||
|
class CFuncMoveLinear : public CBaseToggle
|
||
|
{
|
||
|
public:
|
||
|
DECLARE_CLASS( CFuncMoveLinear, CBaseToggle );
|
||
|
|
||
|
void Spawn( void );
|
||
|
void Precache( void );
|
||
|
bool CreateVPhysics( void );
|
||
|
bool ShouldSavePhysics( void );
|
||
|
|
||
|
void MoveTo(Vector vPosition, float flSpeed);
|
||
|
void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
|
||
|
void MoveDone( void );
|
||
|
void StopMoveSound( void );
|
||
|
void Blocked( CBaseEntity *pOther );
|
||
|
void SetPosition( float flPosition );
|
||
|
|
||
|
int DrawDebugTextOverlays(void);
|
||
|
|
||
|
// Input handlers
|
||
|
void InputOpen( inputdata_t &inputdata );
|
||
|
void InputClose( inputdata_t &inputdata );
|
||
|
void InputSetPosition( inputdata_t &inputdata );
|
||
|
void InputSetSpeed( inputdata_t &inputdata );
|
||
|
|
||
|
DECLARE_DATADESC();
|
||
|
|
||
|
Vector m_vecMoveDir; // Move direction.
|
||
|
|
||
|
string_t m_soundStart; // start and looping sound
|
||
|
string_t m_soundStop; // stop sound
|
||
|
string_t m_currentSound; // sound I'm playing
|
||
|
|
||
|
float m_flBlockDamage; // Damage inflicted when blocked.
|
||
|
float m_flStartPosition; // Position of brush when spawned
|
||
|
float m_flMoveDistance; // Total distance the brush can move
|
||
|
|
||
|
IPhysicsFluidController *m_pFluidController;
|
||
|
|
||
|
// Outputs
|
||
|
COutputEvent m_OnFullyOpen;
|
||
|
COutputEvent m_OnFullyClosed;
|
||
|
};
|
||
|
#endif // FUNC_MOVELINEAR_H
|