void CLaser::Spawn(void) { if(FStringNull(pev->model)) { SetThink(&CLaser::SUB_Remove); return; } pev->solid = SOLID_NOT; // Remove model & collisions Precache(); SetThink(&CLaser::StrikeThink); pev->flags |= FL_CUSTOMENTITY; PointsInit(pev->origin, pev->origin); if(!m_pSprite && m_iszSpriteName) m_pSprite = CSprite::SpriteCreate(STRING(m_iszSpriteName), pev->origin, TRUE); else m_pSprite = NULL; if(m_pSprite) m_pSprite->SetTransparency(kRenderGlow, pev->rendercolor.x, pev->rendercolor.y, pev->rendercolor.z, pev->renderamt, pev->renderfx); if(pev->targetname && !(pev->spawnflags & SF_BEAM_STARTON)) TurnOff(); else TurnOn(); }
//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void CEnvLaser::Spawn( void ) { if ( !GetModelName() ) { SetThink( &CEnvLaser::SUB_Remove ); return; } SetSolid( SOLID_NONE ); // Remove model & collisions SetThink( &CEnvLaser::StrikeThink ); SetEndWidth( GetWidth() ); // Note: EndWidth is not scaled PointsInit( GetLocalOrigin(), GetLocalOrigin() ); Precache( ); if ( !m_pSprite && m_iszSpriteName != NULL_STRING ) { m_pSprite = CSprite::SpriteCreate( STRING(m_iszSpriteName), GetAbsOrigin(), TRUE ); } else { m_pSprite = NULL; } if ( m_pSprite ) { m_pSprite->SetParent( GetMoveParent() ); m_pSprite->SetTransparency( kRenderGlow, m_clrRender->r, m_clrRender->g, m_clrRender->b, m_clrRender->a, m_nRenderFX ); } if ( GetEntityName() != NULL_STRING && !(m_spawnflags & SF_BEAM_STARTON) ) { TurnOff(); } else { TurnOn(); } }