Changeset 3816 in orxonox.OLD for orxonox/trunk/src/animation_player.cc
- Timestamp:
- Apr 13, 2005, 11:55:17 PM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/trunk/src/animation_player.cc
r3812 r3816 50 50 51 51 !! DANGER !! when unloading the AnimationPlayer no other Function 52 should reference any Animations, because it automatically deletes 53 them. This usually happens when unloading a World. 52 should reference any Animations, from the animationList because it 53 automatically deletes them. 54 This usually happens when unloading a World. 54 55 */ 55 56 AnimationPlayer::~AnimationPlayer () 56 57 { 57 58 // deleting the Animation List AND all the elements of the List 58 tIterator<Anim>* animIt = animationList->getIterator(); 59 Anim* anim = animIt->nextElement(); 60 while( anim != NULL) 61 { 62 delete anim; 63 anim = animIt->nextElement(); 64 } 65 delete animIt; 59 this->flush(); 66 60 delete this->animationList; 67 61 … … 83 77 84 78 /** 79 \brief removes an Animation from the Animation List, WITHOUT deleting it. 80 \param animation the Anmination to remove from the List 81 */ 82 void AnimationPlayer::removeAnimation(Anim* animation) 83 { 84 this->animationList->remove(animation); 85 } 86 87 /** 88 \brief empties the list AND deletes all the Animations 89 */ 90 void AnimationPlayer::flush(void) 91 { 92 // deleting the Animation List AND all the elements of the List 93 tIterator<Anim>* animIt = this->animationList->getIterator(); 94 Anim* anim = animIt->nextElement(); 95 while( anim != NULL) 96 { 97 delete anim; 98 this->animationList->remove(anim); 99 anim = animIt->nextElement(); 100 } 101 delete animIt; 102 103 delete this->animationList; 104 this->animationList = new tList<Anim>(); 105 } 106 107 /** 85 108 \brief Ticks all the animations in animationList 86 109 \param timePassed the time passed since the last tick. … … 88 111 void AnimationPlayer::tick(float timePassed) 89 112 { 90 tIterator<Anim>* animIt = animationList->getIterator();113 tIterator<Anim>* animIt = this->animationList->getIterator(); 91 114 Anim* anim = animIt->nextElement(); 92 115 while( anim != NULL) … … 96 119 } 97 120 delete animIt; 121 } 98 122 123 124 /** 125 \brief Outputs some nice debug-information 126 */ 127 void AnimationPlayer::debug(void) 128 { 129 PRINT(0)("+------------------------------------+\n"); 130 PRINT(0)("+ ANIMATION PLAYER DEBUG INFORMATION +\n"); 131 PRINT(0)("+------------------------------------+\n"); 132 PRINT(0)("| Reference: %p\n", this); 133 PRINT(0)("| CountOfAnims %d\n", this->animationList->getSize()); 134 PRINT(0)("-Animation Information---------------+\n"); 135 // Per ANIMATION DEBUG 136 tIterator<Anim>* animIt = this->animationList->getIterator(); 137 Anim* anim = animIt->nextElement(); 138 while( anim != NULL) 139 { 140 // anim->debug(); 141 anim = animIt->nextElement(); 142 } 143 delete animIt; 144 145 PRINT(0)("+--------------------------------AP--+\n"); 99 146 }
Note: See TracChangeset
for help on using the changeset viewer.