From c01f67b284db9c987680d121c11df2d9da56e2d0 Mon Sep 17 00:00:00 2001 From: aleksav013 Date: Mon, 7 Jun 2021 16:51:43 +0200 Subject: Smart pointers --- src/State.cpp | 32 ++++++++++---------------------- 1 file changed, 10 insertions(+), 22 deletions(-) (limited to 'src/State.cpp') diff --git a/src/State.cpp b/src/State.cpp index 9e63762..9e20035 100644 --- a/src/State.cpp +++ b/src/State.cpp @@ -11,19 +11,19 @@ State::State() } void State::initwin() { - prozor=new sf::RenderWindow(sf::VideoMode::getFullscreenModes()[0],"RPG igra"); - prozor->setFramerateLimit(60); + prozor=std::make_shared(sf::VideoMode::getFullscreenModes()[0],"RPG igra",sf::Style::Fullscreen); + prozor->setVerticalSyncEnabled(true); visina=prozor->getSize().y; sirina=prozor->getSize().x; } void State::initassets() { - font["default"] = new sf::Font; - tex["neprijatelj"] = new sf::Texture; - tex["health"] = new sf::Texture; - tex["clear"] = new sf::Texture; - tex["vampiric"] = new sf::Texture; - //tex["djule"] = new sf::Texture; + font["default"]=std::make_shared(); + tex["neprijatelj"]=std::make_shared(); + tex["health"]=std::make_shared(); + tex["clear"]=std::make_shared(); + tex["vampiric"]=std::make_shared(); + //tex["djule"]=std::make_shared(); font["default"]->loadFromFile("assets/fonts/LiberationMono-Regular.ttf"); tex["health"]->loadFromFile("assets/images/healing.png"); tex["neprijatelj"]->loadFromFile("assets/images/nep.png"); @@ -108,7 +108,7 @@ void State::updateui() } void State::loop() { - Game *igra=new Game(prozor,font,tex); + std::unique_ptr igra=std::make_unique(prozor,font,tex); while(prozor->isOpen()) { events(); @@ -123,8 +123,7 @@ void State::loop() prozor->draw(krajtext); if(newgame) { - delete igra; - igra=new Game(prozor,font,tex); + igra=std::make_unique(prozor,font,tex); } } if(pause) @@ -138,15 +137,4 @@ void State::loop() ischanged=0; newgame=0; } - delete igra; -} -State::~State() -{ - delete prozor; - delete font["default"]; - delete tex["neprijatelj"]; - delete tex["health"]; - delete tex["clear"]; - delete tex["vampiric"]; - //delete tex["djule"]; } -- cgit v1.2.3