Убрал паттерн Builder из SaveMap из-за неправильной работы

This commit is contained in:
Jiga228
2026-06-28 14:16:58 +07:00
parent 5886c7acc6
commit 8253b81ab1
13 changed files with 207 additions and 148 deletions
+12
View File
@@ -28,6 +28,18 @@ void World::Tick(double delta_time)
std::shared_ptr<SaveMap> World::save()
{
std::shared_ptr<SaveMap> save = std::make_shared<SaveMap>("World");
std::vector<std::string> ActorsIDs;
ActorsIDs.reserve(actors_map.size());
std::list<std::shared_ptr<ISave>> actors;
for (auto[it, flag] : actors_map)
{
ActorsIDs.push_back(it);
actors.push_back(flag);
}
save->SaveVectorStrings("ActorsIDs", std::move(ActorsIDs));
save->SaveListObject("Actors", std::move(actors));
return save;
}
+2 -2
View File
@@ -49,8 +49,8 @@ public:
std::shared_ptr<T> object = std::make_shared<T>();
object->SetActorLocate(loc);
object->SetActorRotate(rot);
static_cast<Actor*>(object)->world_ = this;
static_cast<Actor*>(object)->name_ = name;
std::static_pointer_cast<Actor>(object)->world_ = this;
std::static_pointer_cast<Actor>(object)->name_ = name;
actors_map.try_emplace(name, object);
return object;
}