void C_ASW_Snow_Volume::Spawn() { SetSolid( SOLID_BBOX ); SetModel( STRING( GetModelName() ) ); // set size and link into world if (g_ASWSnowVolumes.Count() <= 0) { // we're the first snow volume, so create our snow emitter if (!g_hSnowEmitter.IsValid()) { Msg("Created snow emitter\n"); g_hSnowEmitter = CASWSnowEmitter::Create( "asw_emitter" ); if ( g_hSnowEmitter.IsValid() ) { if (m_iSnowType == 0) g_hSnowEmitter->UseTemplate("snow2"); else { g_hSnowEmitter->UseTemplate("snow3"); g_hSnowEmitter->m_bWrapParticlesToSpawnBounds = true; } g_hSnowEmitter->SetActive(true); } else { Msg("Error spawning snow emitter\n"); } // only get clouds for heavy snow if (m_iSnowType == 1) { g_hSnowCloudEmitter = CASWSnowEmitter::Create( "asw_emitter" ); if ( g_hSnowCloudEmitter.IsValid() ) { g_hSnowCloudEmitter->UseTemplate("snowclouds"); g_hSnowCloudEmitter->SetActive(true); g_hSnowEmitter->m_bWrapParticlesToSpawnBounds = true; } else { Msg("Error spawning snow cloud emitter\n"); } } } } g_ASWSnowVolumes.AddToTail(this); BaseClass::Spawn(); m_takedamage = DAMAGE_NO; }