树状数据结构 =================================== GDVM以树的形式组织数据,与Godot的节点树相匹配。 在GDVM的概念里,所绑定的根部数据是已存在的,确定的数据, 而列表、字典、节点的元素是尚未生成的,无法在创建前就绑定。 所以GDVM会记录元素是如何创建的,以及创建后该如何绑定。 于是树状的数据结构分为两个层次: .. mermaid:: flowchart TD subgraph SA[基小树] A(基)-->B(a(Variant)) A-->C(b(Float)) A-->D(c(Node)) end D-->E subgraph SB[子节点小树] E(d(Struct))-->F(e) E-->G(f) E-->H(g) end 大小树结构有如下特点: * 每个小树是初始化后便固定的结构;而大树是动态的,每一个子节点都是集合元素,会动态增删。 * 小树除了结构节点,其他节点都是叶子节点。 * 小树内的观察者和写者是扁平化的,仅小树间的是与大树同构的树状关系。 * 路径索引仅能在小树内索引,无法跨小树索引。