summaryrefslogtreecommitdiff
path: root/game/client/tf/bot_npc/map_entities
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /game/client/tf/bot_npc/map_entities
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'game/client/tf/bot_npc/map_entities')
-rw-r--r--game/client/tf/bot_npc/map_entities/c_tf_bot_hint_engineer_nest.cpp77
-rw-r--r--game/client/tf/bot_npc/map_entities/c_tf_bot_hint_engineer_nest.h32
2 files changed, 109 insertions, 0 deletions
diff --git a/game/client/tf/bot_npc/map_entities/c_tf_bot_hint_engineer_nest.cpp b/game/client/tf/bot_npc/map_entities/c_tf_bot_hint_engineer_nest.cpp
new file mode 100644
index 0000000..f192643
--- /dev/null
+++ b/game/client/tf/bot_npc/map_entities/c_tf_bot_hint_engineer_nest.cpp
@@ -0,0 +1,77 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+//
+//
+//=============================================================================
+#include "cbase.h"
+#include "c_tf_bot_hint_engineer_nest.h"
+
+IMPLEMENT_CLIENTCLASS_DT(C_TFBotHintEngineerNest, DT_TFBotHintEngineerNest, CTFBotHintEngineerNest)
+ RecvPropBool( RECVINFO(m_bHasActiveTeleporter) ),
+END_RECV_TABLE()
+
+//------------------------------------------------------------------------------
+C_TFBotHintEngineerNest::C_TFBotHintEngineerNest( void )
+{
+ m_bHasActiveTeleporter = false;
+ m_bHadActiveTeleporter = false;
+ m_pMvMActiveTeleporter = NULL;
+}
+
+
+C_TFBotHintEngineerNest::~C_TFBotHintEngineerNest()
+{
+
+}
+
+
+void C_TFBotHintEngineerNest::UpdateOnRemove()
+{
+ StopEffect();
+ BaseClass::UpdateOnRemove();
+}
+
+
+void C_TFBotHintEngineerNest::OnPreDataChanged( DataUpdateType_t type )
+{
+ BaseClass::OnPreDataChanged( type );
+
+ m_bHadActiveTeleporter = m_bHasActiveTeleporter;
+}
+
+
+void C_TFBotHintEngineerNest::OnDataChanged( DataUpdateType_t type )
+{
+ BaseClass::OnDataChanged( type );
+
+ if ( m_bHadActiveTeleporter != m_bHasActiveTeleporter )
+ {
+ if ( m_bHasActiveTeleporter )
+ {
+ StartEffect();
+ }
+ else
+ {
+ StopEffect();
+ }
+ }
+}
+
+
+void C_TFBotHintEngineerNest::StartEffect()
+{
+ if ( !m_pMvMActiveTeleporter )
+ {
+ m_pMvMActiveTeleporter = ParticleProp()->Create( "teleporter_mvm_bot_persist", PATTACH_ABSORIGIN );
+ }
+}
+
+
+void C_TFBotHintEngineerNest::StopEffect()
+{
+ if ( m_pMvMActiveTeleporter )
+ {
+ ParticleProp()->StopEmission( m_pMvMActiveTeleporter );
+ m_pMvMActiveTeleporter = NULL;
+ }
+}
diff --git a/game/client/tf/bot_npc/map_entities/c_tf_bot_hint_engineer_nest.h b/game/client/tf/bot_npc/map_entities/c_tf_bot_hint_engineer_nest.h
new file mode 100644
index 0000000..bc0249f
--- /dev/null
+++ b/game/client/tf/bot_npc/map_entities/c_tf_bot_hint_engineer_nest.h
@@ -0,0 +1,32 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+//
+//
+//=============================================================================
+#ifndef TF_BOT_HINT_ENGINEER_NEST_H
+#define TF_BOT_HINT_ENGINEER_NEST_H
+
+#include "c_baseentity.h"
+
+class C_TFBotHintEngineerNest : public C_BaseEntity
+{
+ DECLARE_CLASS( C_TFBotHintEngineerNest, C_BaseEntity );
+public:
+ DECLARE_CLIENTCLASS();
+
+ C_TFBotHintEngineerNest( void );
+ virtual ~C_TFBotHintEngineerNest();
+
+ virtual void UpdateOnRemove() OVERRIDE;
+ virtual void OnPreDataChanged( DataUpdateType_t type ) OVERRIDE;
+ virtual void OnDataChanged( DataUpdateType_t type ) OVERRIDE;
+private:
+ bool m_bHadActiveTeleporter;
+ CNetworkVar( bool, m_bHasActiveTeleporter );
+
+ void StartEffect();
+ void StopEffect();
+ CNewParticleEffect *m_pMvMActiveTeleporter;
+};
+
+#endif // TF_BOT_HINT_ENGINEER_NEST_H