renderable2dcomponent holding sprites and fonts backup

This commit is contained in:
turanszkij
2015-10-24 15:24:31 +02:00
parent 5b97622c33
commit c94187cbf9
3 changed files with 43 additions and 6 deletions
+36 -4
View File
@@ -32,9 +32,19 @@ void Renderable2DComponent::Unload()
{
for (wiSprite* x : m_sprites)
{
x->CleanUp();
if (x != nullptr)
x->CleanUp();
SAFE_DELETE(x);
}
m_sprites.clear();
for (wiFont* x : m_fonts)
{
if (x != nullptr)
x->CleanUp();
SAFE_DELETE(x);
}
m_fonts.clear();
}
void Renderable2DComponent::Start()
{
@@ -42,9 +52,29 @@ void Renderable2DComponent::Start()
}
void Renderable2DComponent::Update()
{
vector<wiSprite*> spritesToDelete(0);
vector<wiFont*> fontsToDelete(0);
for (wiSprite* x : m_sprites)
{
x->Update(getSpriteSpeed());
if (x != nullptr)
x->Update(getSpriteSpeed());
else
spritesToDelete.push_back(x);
}
for (wiFont* x : m_fonts)
{
if (x == nullptr)
fontsToDelete.push_back(x);
}
for (wiSprite* x : spritesToDelete)
{
m_sprites.remove(x);
}
for (wiFont* x : fontsToDelete)
{
m_fonts.remove(x);
}
}
void Renderable2DComponent::Render()
@@ -55,12 +85,14 @@ void Renderable2DComponent::Render()
for (wiSprite* x : m_sprites)
{
x->Draw();
if(x != nullptr)
x->Draw();
}
for (wiFont* x : m_fonts)
{
x->Draw();
if (x != nullptr)
x->Draw();
}
}
void Renderable2DComponent::Compose()
+2 -2
View File
@@ -11,8 +11,8 @@ private:
float m_spriteSpeed;
wiRenderTarget rtFinal;
protected:
vector<wiSprite*> m_sprites;
vector<wiFont*> m_fonts;
list<wiSprite*> m_sprites;
list<wiFont*> m_fonts;
public:
Renderable2DComponent();
~Renderable2DComponent();
+5
View File
@@ -447,3 +447,8 @@ int wiFont::getFontStyleByName( const string& get ){
return i;
return 0;
}
void wiFont::CleanUp()
{
}