void ImagerySection::removeTextComponent(const TextComponent& text) { for(TextList::iterator t = d_texts.begin(); t < d_texts.end(); ++t) if(t->getText() == text.getText() && t->getFont() == text.getFont()) d_texts.erase(t); }
void renderLayerObject(GameObject* gameObject, Layer* layer) { #if 1 { std::vector<AnimatedSpriteComponent*> animatedSpriteComponents = gameObject->getComponents<AnimatedSpriteComponent>(); for (size_t i = 0; i < animatedSpriteComponents.size(); ++i) { Renderer_renderAnimatedSprite(animatedSpriteComponents[i], layer); } } { std::vector<SpriteSheetComponent*> spriteSheetComponents = gameObject->getComponents<SpriteSheetComponent>(); for (size_t i = 0; i < spriteSheetComponents.size(); ++i) { Renderer_renderSpriteSheet(spriteSheetComponents[i], layer); } } { std::vector<SpriteComponent*> spriteComponents = gameObject->getComponents<SpriteComponent>(); for (size_t i = 0; i < spriteComponents.size(); ++i) { Renderer_renderSprite(spriteComponents[i], layer); } } { std::vector<TileComponent*> tileComponents = gameObject->getComponents<TileComponent>(); for (size_t i = 0; i < tileComponents.size(); ++i) { Renderer_renderTile(tileComponents[i], layer); } } { std::vector < Text*> texts = gameObject->getComponents<Text>(); for (size_t i = 0; i < texts.size(); ++i) { Renderer_renderText(texts[i], layer); } } { std::vector < TextComponent*> texts = gameObject->getComponents<TextComponent>(); for (size_t i = 0; i < texts.size(); ++i) { Renderer_renderText(texts[i]->getText(), layer); } } #else { AnimatedSpriteComponent* go = dynamic_cast<AnimatedSpriteComponent*>(gameObject); if (go != 0) { Renderer_renderAnimatedSprite(go, layer); return; } } { SpriteSheetComponent* go = dynamic_cast<SpriteSheetComponent*>(gameObject); if (go != 0) { Renderer_renderSpriteSheet(go, layer); return; } } { SpriteComponent* go = dynamic_cast<SpriteComponent*>(gameObject); if (go != 0) { Renderer_renderSprite(go, layer); return; } } { TileComponent* go = dynamic_cast<TileComponent*>(gameObject); if (go != 0) { Renderer_renderTile(go, layer); return; } } { Text* go = dynamic_cast<Text*>(gameObject); if (go != 0) { Renderer_renderText(go, layer); return; } } { TextComponent* go = dynamic_cast<TextComponent*>(gameObject); if (go != 0) { Renderer_renderText(go->getText(), layer); return; } } #endif }