#pragma once #include "cereal/cereal.hpp" #ifdef DEER_RENDER #include "DeerRender/Mesh.h" #include "DeerRender/Resource.h" #include "DeerRender/Shader.h" #include "DeerRender/Tools/Memory.h" #include #endif namespace Deer { struct WorldSerializationSettings { #ifdef DEER_RENDER bool includeServer = false; bool includeClient = true; std::function(ResourceId)> meshLoadingFunction = nullptr; std::function(ResourceId)> shaderLoadingFunction = nullptr; #else bool includeServer = true; bool includeClient = false; #endif template void serialize(Archive& archive) { archive(CEREAL_NVP(includeServer)); archive(CEREAL_NVP(includeClient)); } }; } // namespace Deer