bool UpdateMap(std::shared_ptr<VisibleObject> &player, std::vector<std::shared_ptr<VisibleObject> > &objectVec, Map &map, unsigned int &score, SoundPlayer &soundPlayer, ResourceManager &resMan) { bool powerPill(false); glm::ivec2 where((int)(player->GetX()), (int)(player->GetY())); Object obj(map.GetWhichObject(where)); if(obj == Object::tree || obj == Object::powerPill || obj == Object::specialObject) { UpdateObject(where, map, player->GetPlayer(), objectVec); switch(obj) { case Object::tree: score += 10; soundPlayer.AddToPlay(*(resMan.GetSound("chop.ogg"))); break; case Object::powerPill: score += 10; soundPlayer.AddToPlay(*(resMan.GetSound("chainsaw.ogg"))); powerPill = true; break; case Object::specialObject: soundPlayer.AddToPlay(*(resMan.GetSound("woodpile.ogg"))); score += 100; break; default: break; } } return powerPill; }