#include "TestWorld.h" #include "Game/GameInstance.hpp" #include "Game/SaveMap/SaveMap.hpp" #include "Log/Log.hpp" TestWorld::TestWorld(GameInstance& game_instance) : World(game_instance) {} void TestWorld::BeginPlay() { World::BeginPlay(); std::vector> meshes = GetActorsByClass(); for (const auto& i : meshes) Loging::Log("Load actor: " + i->GetName()); } void TestWorld::Tick(double delta_time) { World::Tick(delta_time); time += delta_time; if (time >= 10.0) { std::vector> meshes = GetActorsByClass(); if (!meshes.empty()) { Loging::Message("TestWorld destroy: " + meshes[0]->GetName()); DestroyActor(static_cast>(meshes[0])); time = 7.0; return; } Loging::Message("TestWorld: Time out"); GetGameInstance().quit(); } } std::shared_ptr TestWorld::save() { std::shared_ptr save = World::save(); std::shared_ptr my_save = std::make_shared("TestWorld"); my_save->SaveDouble("time", time)->connect_to(save); return my_save; } void TestWorld::load(std::shared_ptr save) { World::load(save->getParent()); time = save->GetDouble("time"); }