# HasCircularDependency 检测资源是否存在循环依赖。 ## 方法签名 ```cpp bool HasCircularDependency(ResourceGUID guid, Containers::Array& outCycle) const; ``` ## 详细描述 检测从指定资源出发是否存在循环依赖关系。算法使用深度优先搜索遍历依赖图,如果发现在同一条路径上访问同一个节点两次,则说明存在循环依赖。 当检测到循环时,`outCycle` 参数将被填充为从起点到循环点的路径(包含循环点)。 ## 参数 | 参数 | 类型 | 描述 | |------|------|------| | `guid` | `ResourceGUID` | 起始资源的全局唯一标识符 | | `outCycle` | `Containers::Array&` | 输出参数,接收检测到的循环路径 | ## 返回值 `bool` - 如果存在循环依赖返回 `true`,否则返回 `false` ## 示例 ```cpp // 假设存在循环: A -> B -> C -> A Containers::Array cycle; if (graph.HasCircularDependency("A"_guid, cycle)) { // cycle 包含类似 ["A", "B", "C", "A"] 的路径 } ```