//----------------------------------------------------------------------------- // Purpose: Creates a flame and attaches it to a target entity. // Input : pTarget - //----------------------------------------------------------------------------- CEntityFlame *CEntityFlame::Create( CBaseEntity *pTarget, float flLifetime, float flSize /*= 0.0f*/, bool bUseHitboxes /*= true*/ ) { CEntityFlame *pFlame = (CEntityFlame *)CreateEntityByName( "entityflame" ); if ( pFlame == NULL ) return NULL; if ( flSize <= 0.0f ) { float xSize = pTarget->CollisionProp()->OBBMaxs().x - pTarget->CollisionProp()->OBBMins().x; float ySize = pTarget->CollisionProp()->OBBMaxs().y - pTarget->CollisionProp()->OBBMins().y; flSize = ( xSize + ySize ) * 0.5f; if ( flSize < 16.0f ) { flSize = 16.0f; } } if ( flLifetime <= 0.0f ) { flLifetime = 2.0f; } pFlame->m_flSize = flSize; pFlame->Spawn(); UTIL_SetOrigin( pFlame, pTarget->GetAbsOrigin() ); pFlame->AttachToEntity( pTarget ); pFlame->SetLifetime( flLifetime ); pFlame->Activate(); return pFlame; }