//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void C_ExtinguisherJet::Start( void ) { AddToLeafSystem( RENDER_GROUP_TRANSLUCENT_ENTITY ); m_ParticleSpawn.Init( 100 ); //Events per second //Create the basic emitter m_pEmitter = CSimpleEmitter::Create("C_ExtinguisherJet::m_pEmitter"); Assert( m_pEmitter.IsValid() ); if ( m_pEmitter.IsValid() ) { m_MaterialHandle = g_Mat_DustPuff[0]; m_pEmitter->SetSortOrigin( GetAbsOrigin() ); } //Create the "ember" emitter for the smaller flecks m_pEmberEmitter = CEmberEffect::Create( "C_ExtinguisherJet::m_pEmberEmitter" ); Assert( m_pEmberEmitter.IsValid() ); if ( m_pEmberEmitter.IsValid() ) { m_EmberMaterialHandle = g_Mat_DustPuff[0]; m_pEmberEmitter->SetSortOrigin( GetAbsOrigin() ); } }
//----------------------------------------------------------------------------- // Purpose: FIXME: what's the right way to do this? //----------------------------------------------------------------------------- void C_FireSmoke::StartClientOnly( void ) { Start(); ClientEntityList().AddNonNetworkableEntity( this ); CollisionProp()->CreatePartitionHandle(); AddEffects( EF_NORECEIVESHADOW | EF_NOSHADOW ); AddToLeafSystem(); }
void C_Hairball::Init() { ClientEntityList().AddNonNetworkableEntity( this ); ClientThinkList()->SetNextClientThink( GetClientHandle(), CLIENT_THINK_ALWAYS ); AddToLeafSystem( RENDER_GROUP_OPAQUE_ENTITY ); m_pMaterial = materials->FindMaterial( "cable/cable", TEXTURE_GROUP_OTHER ); m_flSitStillTime = 5; }
//----------------------------------------------------------------------------- // Purpose: // Input : updateType - //----------------------------------------------------------------------------- void C_MortarShell::OnDataChanged( DataUpdateType_t updateType ) { BaseClass::OnDataChanged( updateType ); if ( updateType == DATA_UPDATE_CREATED ) { m_flStarttime = gpGlobals->curtime; AddToLeafSystem( RENDER_GROUP_TRANSLUCENT_ENTITY ); m_pEmitter = CSimpleEmitter::Create( "C_EntityDissolve" ); m_pEmitter->SetSortOrigin( GetAbsOrigin() ); m_ParticleEvent.Init( 128 ); } }