| 618 | //------------------------------------------------------------------------------ |
| 619 | |
| 620 | void GuiObjectView::_initAnimation() |
| 621 | { |
| 622 | AssertFatal( mModel, "GuiObjectView::_initAnimation - No model loaded!" ); |
| 623 | |
| 624 | if( mAnimationSeqName.isEmpty() && mAnimationSeq == -1 ) |
| 625 | return; |
| 626 | |
| 627 | // Look up sequence by name. |
| 628 | |
| 629 | if( !mAnimationSeqName.isEmpty() ) |
| 630 | { |
| 631 | mAnimationSeq = mModel->getShape()->findSequence( mAnimationSeqName ); |
| 632 | |
| 633 | if( mAnimationSeq == -1 ) |
| 634 | { |
| 635 | Con::errorf( "GuiObjectView::_initAnimation - Cannot find animation sequence '%s' on '%s'", |
| 636 | mAnimationSeqName.c_str(), |
| 637 | mModelName.c_str() |
| 638 | ); |
| 639 | |
| 640 | return; |
| 641 | } |
| 642 | } |
| 643 | |
| 644 | // Start sequence. |
| 645 | |
| 646 | if( mAnimationSeq != -1 ) |
| 647 | { |
| 648 | if( mAnimationSeq >= mModel->getShape()->sequences.size() ) |
| 649 | { |
| 650 | Con::errorf( "GuiObjectView::_initAnimation - Sequence '%i' out of range for model '%s'", |
| 651 | mAnimationSeq, |
| 652 | mModelName.c_str() |
| 653 | ); |
| 654 | |
| 655 | mAnimationSeq = -1; |
| 656 | return; |
| 657 | } |
| 658 | |
| 659 | if( !mRunThread ) |
| 660 | mRunThread = mModel->addThread(); |
| 661 | |
| 662 | mModel->setSequence( mRunThread, mAnimationSeq, 0.f ); |
| 663 | } |
| 664 | |
| 665 | mLastRenderTime = Platform::getVirtualMilliseconds(); |
| 666 | } |
| 667 | |
| 668 | //------------------------------------------------------------------------------ |
| 669 |
nothing calls this directly
no test coverage detected