mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-01-23 13:14:51 +00:00
Init ropes in Activated instead of delayed think
This commit is contained in:
parent
7c57dc5318
commit
9f932e33f9
@ -168,6 +168,7 @@ TYPEDESCRIPTION CRope::m_SaveData[] =
|
||||
DEFINE_FIELD( CRope, mEndingModel, FIELD_STRING ),
|
||||
DEFINE_FIELD( CRope, mAttachedObjectsOffset, FIELD_FLOAT ),
|
||||
DEFINE_FIELD( CRope, m_bMakeSound, FIELD_CHARACTER ),
|
||||
DEFINE_FIELD( CRope, m_activated, FIELD_CHARACTER ),
|
||||
};
|
||||
|
||||
IMPLEMENT_SAVERESTORE( CRope, CBaseDelay )
|
||||
@ -242,11 +243,19 @@ void CRope::Spawn()
|
||||
|
||||
m_NumSamples = m_iSegments + 1;
|
||||
|
||||
SetThink(&CRope::StartThink);
|
||||
pev->nextthink = gpGlobals->time + 0.01;
|
||||
m_activated = false;
|
||||
}
|
||||
|
||||
void CRope::StartThink()
|
||||
void CRope::Activate()
|
||||
{
|
||||
if (!m_activated)
|
||||
{
|
||||
InitRope();
|
||||
m_activated = true;
|
||||
}
|
||||
}
|
||||
|
||||
void CRope::InitRope()
|
||||
{
|
||||
AddFlags( FL_ALWAYSTHINK );
|
||||
|
||||
@ -1345,7 +1354,7 @@ class CElectrifiedWire : public CRope
|
||||
{
|
||||
public:
|
||||
CElectrifiedWire();
|
||||
void EXPORT StartElectrifiedThink();
|
||||
void InitElectrifiedRope();
|
||||
virtual int Save( CSave &save );
|
||||
virtual int Restore( CRestore &restore );
|
||||
static TYPEDESCRIPTION m_SaveData[];
|
||||
@ -1355,6 +1364,7 @@ public:
|
||||
void Precache();
|
||||
|
||||
void Spawn();
|
||||
void Activate();
|
||||
|
||||
void EXPORT ElectrifiedRopeThink();
|
||||
|
||||
@ -1490,13 +1500,20 @@ void CElectrifiedWire::Spawn()
|
||||
{
|
||||
CRope::Spawn();
|
||||
pev->classname = MAKE_STRING( "env_electrified_wire" );
|
||||
|
||||
SetThink(&CElectrifiedWire::StartElectrifiedThink);
|
||||
}
|
||||
|
||||
void CElectrifiedWire::StartElectrifiedThink()
|
||||
void CElectrifiedWire::Activate()
|
||||
{
|
||||
StartThink();
|
||||
if (!m_activated)
|
||||
{
|
||||
InitElectrifiedRope();
|
||||
m_activated = true;
|
||||
}
|
||||
}
|
||||
|
||||
void CElectrifiedWire::InitElectrifiedRope()
|
||||
{
|
||||
InitRope();
|
||||
|
||||
m_uiNumUninsulatedSegments = 0;
|
||||
m_bIsActive = true;
|
||||
|
@ -36,8 +36,9 @@ public:
|
||||
virtual void Precache();
|
||||
|
||||
virtual void Spawn();
|
||||
void Activate();
|
||||
|
||||
void EXPORT StartThink();
|
||||
void InitRope();
|
||||
void EXPORT RopeThink();
|
||||
|
||||
virtual int Save( CSave &save );
|
||||
@ -288,6 +289,9 @@ private:
|
||||
int mDisallowPlayerAttachment;
|
||||
|
||||
bool m_bMakeSound;
|
||||
|
||||
protected:
|
||||
bool m_activated;
|
||||
};
|
||||
|
||||
#endif //ROPES_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user