| 525 | |
| 526 | |
| 527 | bool HoverVehicle::onNewDataBlock(GameBaseData* dptr, bool reload) |
| 528 | { |
| 529 | mDataBlock = dynamic_cast<HoverVehicleData*>(dptr); |
| 530 | if (!mDataBlock || !Parent::onNewDataBlock(dptr,reload)) |
| 531 | return false; |
| 532 | |
| 533 | if (isGhost()) |
| 534 | { |
| 535 | // Create the sounds ahead of time. This reduces runtime |
| 536 | // costs and makes the system easier to understand. |
| 537 | |
| 538 | SFX_DELETE( mEngineSound ); |
| 539 | SFX_DELETE( mFloatSound ); |
| 540 | SFX_DELETE( mJetSound ); |
| 541 | |
| 542 | if ( mDataBlock->getHoverSounds(HoverVehicleData::EngineSound) ) |
| 543 | mEngineSound = SFX->createSource( mDataBlock->getHoverSoundsProfile(HoverVehicleData::EngineSound), &getTransform() ); |
| 544 | |
| 545 | if ( !mDataBlock->getHoverSounds(HoverVehicleData::FloatSound) ) |
| 546 | mFloatSound = SFX->createSource( mDataBlock->getHoverSoundsProfile(HoverVehicleData::FloatSound), &getTransform() ); |
| 547 | |
| 548 | if ( mDataBlock->getHoverSounds(HoverVehicleData::JetSound) ) |
| 549 | mJetSound = SFX->createSource( mDataBlock->getHoverSoundsProfile(HoverVehicleData::JetSound), &getTransform() ); |
| 550 | } |
| 551 | |
| 552 | // Todo: Uncomment if this is a "leaf" class |
| 553 | scriptOnNewDataBlock(); |
| 554 | |
| 555 | return true; |
| 556 | } |
| 557 | |
| 558 | |
| 559 |
no test coverage detected