m_texture classes' fields deleting

parent 71db81b3
No related merge requests found
Showing with 12 additions and 19 deletions
+12 -19
......@@ -23,20 +23,20 @@ Enemy::Enemy() {
switch (ind) {
case 0:
m_texture = &EnemyRedTexture::Instance();
m_sprite.setTexture(EnemyRedTexture::Instance().get_texture());
break;
case 1:
m_texture = &EnemyOrangeTexture::Instance();
m_sprite.setTexture(EnemyOrangeTexture::Instance().get_texture());
break;
case 2:
m_texture = &EnemyCyanTexture::Instance();
m_sprite.setTexture(EnemyCyanTexture::Instance().get_texture());
break;
case 3:
m_texture = &EnemyPinkTexture::Instance();
m_sprite.setTexture(EnemyPinkTexture::Instance().get_texture());
break;
}
m_sprite.setOrigin({ m_texture->get_texture().getSize().x / 2.0f, m_texture->get_texture().getSize().y / 2.0f});
m_sprite.setOrigin({ m_sprite.getTexture()->getSize().x / 2.0f,m_sprite.getTexture()->getSize().y / 2.0f});
m_sprite.setScale({ 2.5f,2.5f });
}
......@@ -45,7 +45,6 @@ void Enemy::draw_into(sf::RenderWindow& window) const {
}
void Enemy::prepare_for_drawing() { //prep drawing проходит в конце set_pos
m_sprite.setTexture(m_texture->get_texture());
m_sprite.setPosition(m_ptr_room->get_position());
}
......@@ -97,10 +96,9 @@ std::unique_ptr<IGameEvent> Food::accept(IVisitor* ptr_visitor) {
//INVISPOTION
InvisPotion::InvisPotion() {
m_texture = &PotionTexture::Instance();
m_sprite.setOrigin({ m_texture->get_texture().getSize().x / 2.0f, m_texture->get_texture().getSize().y / 2.0f });
m_sprite.setTexture(PotionTexture::Instance().get_texture());
m_sprite.setOrigin({ PotionTexture::Instance().get_texture().getSize().x / 2.0f, PotionTexture::Instance().get_texture().getSize().y / 2.0f });
m_sprite.setScale({ 0.11f,0.11f });
m_sprite.setTexture(m_texture->get_texture());
}
void InvisPotion::catched(Inventory& inventory) {
......
......@@ -67,7 +67,6 @@ public:
private:
sf::Clock m_stopwatch;
ITexture* m_texture;
sf::Sprite m_sprite;
};
......@@ -97,7 +96,6 @@ public:
std::unique_ptr<IGameEvent> accept(IVisitor* ptr_visitor) override;
private:
ITexture* m_texture;
sf::Sprite m_sprite;
};
......
......@@ -88,21 +88,19 @@ Inventory::Inventory() {
m_circles.emplace_back(food_circle);
//bottle
m_textures.push_back(&PotionTexture::Instance());
sf::Sprite sprite;
sprite.setOrigin({ m_textures.at(0)->get_texture().getSize().x / 2.0f, m_textures.at(0)->get_texture().getSize().y / 2.0f });
sprite.setTexture(PotionTexture::Instance().get_texture());
sprite.setOrigin({ sprite.getTexture()->getSize().x / 2.0f, sprite.getTexture()->getSize().y / 2.0f});
sprite.setScale({ 0.13f,0.13f });
sprite.setPosition({ pos_cell2.x ,pos_cell2.y });
sprite.setTexture(m_textures.at(0)->get_texture());
m_sprites.push_back(sprite);
//enemy killer
sf::Sprite sprite2;
m_textures.push_back(&EnemyKillerTexture::Instance());
sprite2.setOrigin({ m_textures.at(1)->get_texture().getSize().x / 2.0f, m_textures.at(1)->get_texture().getSize().y / 2.0f });
sprite2.setTexture(EnemyKillerTexture::Instance().get_texture());
sprite2.setOrigin({ sprite2.getTexture()->getSize().x / 2.0f, sprite2.getTexture()->getSize().y / 2.0f });
sprite2.setScale({ 1.7f, 1.7f });
sprite2.setPosition({ pos_cell3.x ,pos_cell3.y });
sprite2.setTexture(m_textures.at(1)->get_texture());
m_sprites.push_back(sprite2);
}
......
......@@ -35,5 +35,4 @@ private:
std::vector<sf::CircleShape> m_circles;
std::vector<sf::Sprite> m_sprites;
std::vector<ITexture*> m_textures;
};
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment