资源插槽 ================================================= resourceSlot 是一个声明式 api,用于在 daBFG 中改变节点间的资源。 您可以将槽视为 “更虚拟 ”的框架图资源。 这种类型的资源可以在框架图执行过程中改变大小和资源创建标志。 如果出现以下情况,请使用插槽代替常规资源 * 节点必须同时读取和写入某些资源 * 需要在某些节点中改变资源的大小或类型 使用资源槽时需要 * 从平常的 ``dabfg::register_node``开始,见 :doc:`daBFG/declaringNodes` * 将 ``dabfg::NodeHandle`` 替换为 ``resource_slot::NodeHandleWithSlotsAccess`` * 将 ``dabfg::register_node`` 替换为 ``resource_slot::register_access`` * 声明回调将获得附加参数 ``resource_slot::State slotsState`` * 为节点添加 ``action_list``: * 如果节点为槽创建了第一个资源,节点应声明 ``Create{slot_name, created_resource_name}`` * 节点在使用 ``slotsState.resourceToCreateFor`` 后获取用于填充插槽的资源名称 * 如果节点更新了插槽中的资源,则应声明 ``Update{slot_name, updated_resource_name, priority}`` * 节点在使用 ``slotsState.resourceToCreateFor`` 后获取用于填充插槽的资源名称 * 节点获取资源名称,该名称位于带有 `slotsState.resourceToReadFrom`` 的节点之前的槽中 * 优先级较高的节点将排在优先级较低的节点之后 * 如果节点从槽中读取资源,则应声明 ``Read{slot_name}`` * 节点获取资源名称,该名称位于带有 `slotsState.resourceToReadFrom`` 的节点之前的槽中 * 节点可选择声明从槽中读取中间资源的读取优先级。默认情况下,读取节点将被安排在所有更新节点之后。 详细信息请参见 :doc:`resourceSlot/registerAccess` .. toctree:: :maxdepth: 2 :caption: 内容: resourceSlot/registerAccess resourceSlot/nodeHandleWithSlotsAccess resourceSlot/resolveAccess resourceSlot/resource_slot_ecs resourceSlot/resource_slot_das resourceSlot/ResourceSlotCore