#include "World.h" #include "Game/SaveMap/SaveMap.h" World::World(GameInstance& game_instance) : game_instance(game_instance) { } World::~World() { for (auto& actor : actors) delete actor; actors.clear(); } void World::BeginPlay() { for (auto& i : actors) i->BeginPlay(); } void World::Tick(double delta_time) { for (auto& i : actors) i->Tick(delta_time); } std::shared_ptr World::save() { std::shared_ptr save = std::make_shared("World"); save->SaveListObject("Actors", std::move(reinterpret_cast&>(actors))); return save; } void World::load(std::shared_ptr save) { actors = std::move(reinterpret_cast&>(save->GetListObject("Actors"))); }