Добавил возможность выбирать контейнер для GetActorsByClass

This commit is contained in:
Jiga228
2026-06-28 19:59:54 +07:00
parent 82ba9fd191
commit a69dab3611
2 changed files with 4 additions and 4 deletions
+1 -1
View File
@@ -61,7 +61,7 @@ void World::load(std::shared_ptr<SaveMap> save)
void World::DestroyActor(std::weak_ptr<Actor> ptr) void World::DestroyActor(std::weak_ptr<Actor> ptr)
{ {
std::shared_ptr<Actor> actor = ptr.lock(); std::shared_ptr<Actor> actor = ptr.lock();
if (actor.get() == nullptr) if (actor == nullptr)
return; return;
std::string name = actor->GetName(); std::string name = actor->GetName();
+3 -3
View File
@@ -31,10 +31,10 @@ public:
void load(std::shared_ptr<SaveMap> save) override; void load(std::shared_ptr<SaveMap> save) override;
#pragma endregion #pragma endregion
template<class T> template<class T, class Container = std::vector<std::weak_ptr<T>>>
std::vector<std::weak_ptr<T>> GetActorsByClass() Container GetActorsByClass()
{ {
std::vector<std::weak_ptr<T>> list; Container list;
for (auto i = actors_map.cbegin(); i != actors_map.cend(); ++i) for (auto i = actors_map.cbegin(); i != actors_map.cend(); ++i)
{ {
if (RTTI::dyn_cast<T, Actor>(i->second.get())) if (RTTI::dyn_cast<T, Actor>(i->second.get()))