26 void Serialize(
Node& node)
const override
28 node.SetType(NodeType::Array);
29 auto& properties = node.GetProperties();
31 for (
const auto& entry : set)
34 entryNode[
"entity"] << entry.id;
36 compNode << entry.data;
37 entryNode[
"component"] = compNode;
38 properties.push_back({
"", entryNode });
42 void Deserialize(
const Node& node)
override
44 ASSERT(node.GetType() == NodeType::Array || node.GetType() == NodeType::Null,
"Expected component storage data to be an array");
45 for (
const auto& [key, entryNode] : node.GetProperties())
48 entryNode[
"entity"] >> entity;
50 entryNode[
"component"] >> component;
51 set.Insert(entity, component);
60 void RemoveComponent(uint32_t entity)
override