better managed ownership (two new functions in level.h)

This commit is contained in:
2024-07-16 23:36:31 -04:00
parent 3b164bbe9f
commit 3232d91ac1
14 changed files with 74 additions and 50 deletions

View File

@ -237,14 +237,35 @@ position level::get_down_stairs() const {
return map.get_down_stairs();
}
enemy_list &level::get_elist() {
const enemy_list &level::get_elist() {
return elist;
}
potion_list &level::get_plist() {
const potion_list &level::get_plist() {
return plist;
}
gold_list &level::get_glist() {
return glist;
}
std::unique_ptr<potion> level::detach_potion(size_t idx) {
if (idx >= plist.size())
return nullptr;
auto tmp = std::move(pplist[idx]);
plist.erase(plist.begin() + idx);
pplist.erase(pplist.begin() + idx);
return tmp;
}
void level::erase_enemy(character *ch) {
if (ch == nullptr)
return;
for (size_t i = 0; i < elist.size(); ++i)
if (elist[i] == ch) {
elist.erase(elist.begin() + i);
pelist.erase(pelist.begin() + i);
}
}