/* [CONSTRUCTOR] Initialisation de la liste de xSprite =========================================================*/ xSpriteGroup::xSpriteGroup(){ // _sprites = new vector(0); } /* [ADD] Ajoute un xSprite au groupe =========================================================*/ void xSpriteGroup::add(xSprite *s){ _sprites.push_back( s ); } /* [REMOVE] Suppression d'un xSprite du groupe =========================================================*/ void xSpriteGroup::remove(xSprite *s){ int index = -1; // on cherche l'indice du sprite // On parcours la liste pour trouver l'indice for( int i = 0 ; i < _sprites.size() ; i++ ) if( _sprites[i] == s ) index = i; // Si on a pas trouve l'indice if( index == -1 ) return; // On supprime le sprite de la liste _sprites.erase(_sprites.begin() + index ); } /* [PUSH] Ajoute tous les xSprite du groupe a une surface parente =========================================================*/ void xSpriteGroup::push(){ for( int i = 0 ; i < _sprites.size() ; i++ ) _sprites[i]->push(); } /* [PULL] Retire une sprite de la surface parents =========================================================*/ void xSpriteGroup::pull(){ for( int i = 0 ; i < _sprites.size() ; i++ ) _sprites[i]->pull(); } /* [UPDATE] Mise a jour du rendu =========================================================*/ void xSpriteGroup::update(){ if( _sprites.size() > 0 ) _sprites[0]->update(); } /* [GET] Retourne le xSprite d'index donne =========================================================*/ xSprite* xSpriteGroup::get(int i){ return _sprites[i]; }