コード例 #1
0
 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);
 }
コード例 #2
0
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
}