#pragma once #include #include "CanvasComponent.hpp" #include class CanvasComponentAllocator { public: CanvasComponentAllocator(); CanvasComponentAllocator(CanvasComponent::CompType typeToAllocate); std::unique_ptr comp; static void register_class(NetworkingObjects::NetObjManager& objMan); private: static void write_constructor_func(const NetworkingObjects::NetObjTemporaryPtr& o, cereal::PortableBinaryOutputArchive& a); static void read_constructor_func(const NetworkingObjects::NetObjTemporaryPtr& o, cereal::PortableBinaryInputArchive& a, const std::shared_ptr& c); };