class CFuncTrackTrain : public CBaseModelEntity
{
public:
CHandle<CPathTrack> m_ppath;
float32 m_length;
Vector m_vPosPrev;
QAngle m_angPrev;
Vector m_controlMins;
Vector m_controlMaxs;
Vector m_lastBlockPos;
int32 m_lastBlockTick;
float32 m_flVolume;
float32 m_flBank;
float32 m_oldSpeed;
float32 m_flBlockDamage;
float32 m_height;
float32 m_maxSpeed;
float32 m_dir;
CUtlSymbolLarge m_iszSoundMove;
CUtlSymbolLarge m_iszSoundMovePing;
CUtlSymbolLarge m_iszSoundStart;
CUtlSymbolLarge m_iszSoundStop;
CUtlSymbolLarge m_strPathTarget;
float32 m_flMoveSoundMinDuration;
float32 m_flMoveSoundMaxDuration;
GameTime_t m_flNextMoveSoundTime;
float32 m_flMoveSoundMinPitch;
float32 m_flMoveSoundMaxPitch;
TrainOrientationType_t m_eOrientationType;
TrainVelocityType_t m_eVelocityType;
private:
uint8 pad_08B8[16];
public:
CEntityIOOutput m_OnStart;
CEntityIOOutput m_OnNext;
CEntityIOOutput m_OnArrivedAtDestinationNode;
bool m_bManualSpeedChanges;
float32 m_flDesiredSpeed;
GameTime_t m_flSpeedChangeTime;
float32 m_flAccelSpeed;
float32 m_flDecelSpeed;
bool m_bAccelToSpeed;
GameTime_t m_flNextMPSoundTime;
};