-----------------------------------------------------------------------
| 435 | } |
| 436 | //----------------------------------------------------------------------- |
| 437 | void ParticleSystemManager::parseAttrib( const String &line, ParticleSystem *sys ) |
| 438 | { |
| 439 | // Split params on space |
| 440 | vector<String>::type vecparams = StringUtil::split( line, "\t ", 1 ); |
| 441 | |
| 442 | // Look up first param (command setting) |
| 443 | if( !sys->setParameter( vecparams[0], vecparams[1] ) ) |
| 444 | { |
| 445 | // Attribute not supported by particle system, try the renderer |
| 446 | ParticleSystemRenderer *renderer = sys->getRenderer(); |
| 447 | if( renderer ) |
| 448 | { |
| 449 | if( !renderer->setParameter( vecparams[0], vecparams[1] ) ) |
| 450 | { |
| 451 | LogManager::getSingleton().logMessage( "Bad particle system attribute line: '" + |
| 452 | line + "' in " + sys->getName() + |
| 453 | " (tried renderer)", |
| 454 | LML_CRITICAL ); |
| 455 | } |
| 456 | } |
| 457 | else |
| 458 | { |
| 459 | // BAD command. BAD! |
| 460 | LogManager::getSingleton().logMessage( "Bad particle system attribute line: '" + line + |
| 461 | "' in " + sys->getName() + " (no renderer)", |
| 462 | LML_CRITICAL ); |
| 463 | } |
| 464 | } |
| 465 | } |
| 466 | //----------------------------------------------------------------------- |
| 467 | void ParticleSystemManager::parseEmitterAttrib( const String &line, ParticleEmitter *emit ) |
| 468 | { |
nothing calls this directly
no test coverage detected