当前位置: 首页 > news >正文

Unity ReferenceFinder插件 多选资源查找bug解决

GitHub地址


当选中多个资源 查找引用时,有的资源引用不显示,解决方法:

ReferenceFinderWindow脚本原来的 while(stack.Count > 0) { … if (!memo.ContainsKey(current[0])) { … } } 替换为下面这段。

// 替换原来的 while(stack.Count > 0) { ... } 整段varretryCount=newDictionary<string,int>();while(stack.Count>0){varcurrent=stack.Pop();stringguid=current[0];intcurDepth=int.Parse(current[1]);stringparentGuid=current[2];// CreateTree 会在 memo 里返回已存在的节点或新建一个并加入 memovarchild=CreateTree(guid,refelementCount,curDepth,stack,memo);if(child==null)continue;if(string.IsNullOrEmpty(parentGuid)){// 直接挂到根(避免重复)if(root.children==null||!root.children.Contains(child))root.AddChild(child);continue;}// 父节点已存在,则直接挂上去(避免重复)if(memo.TryGetValue(parentGuid,outAssetViewItemparentItem)){if(parentItem.children==null||!parentItem.children.Contains(child))parentItem.AddChild(child);// 成功挂上,重试计数可清除(若有)if(retryCount.ContainsKey(guid))retryCount.Remove(guid);continue;}else{// 父节点还不存在:重试逻辑(将当前项压回栈,等待父节点被创建)intattempts=0;retryCount.TryGetValue(guid,outattempts);attempts++;retryCount[guid]=attempts;if(attempts<=4)// 重试上限(可调整){stack.Push(current);// 稍后再试一次}else{// 父节点长时间未出现 -> 降级把它挂到 root,避免死循环if(root.children==null||!root.children.Contains(child))root.AddChild(child);retryCount.Remove(guid);Debug.LogWarning($"ReferenceFinder: parent{parentGuid}for{guid}not found after retries, attached to root.");}}}

思路:

不再在外面直接跳过 memo 已有项;改为 总是拿到节点(CreateTree 自身会返回已存在的 memo 项),然后尝试把它挂到当前父节点上(如果父节点还没创建则把当前项压回栈并记录重试次数,避免无限循环)。

加了个 retryCount 字典:若某节点连续多次尝试仍然找不到父节点,则把它挂到 root(降级处理),避免死循环。

http://www.cnnetsun.cn/news/53191.html

相关文章:

  • 给女神发“在吗”,她回了个表情包是几个意思?—— 硬核探讨TCP 三次握手
  • 入门大模型必知的100个基础问题(附简明答案)
  • vue基于Spring Boot的建筑材料管理系统的应用和研究_ug8y52z3
  • 【大模型】-LangChain--RAG文档系统
  • 探索非线性电液伺服系统的模型自适应反步控制
  • 降AI率就要牺牲文笔?WriterPro第一个不服!实测对比比原文写得还好,这文笔简直绝了
  • 我不是这样
  • 10.8 总结
  • 列车售票|基于springboot 列车售票系统(源码+数据库+文档)
  • AI驱动的手动测试变革:赋能而非替代
  • 【奶茶Beta专项】【LVGL9.4源码分析】09-core-group
  • 网络安全异想天开(不定期更新)
  • 《CAPL脚本实现CANOE工具 Bus-Off自动恢复(含重试机制)》
  • 力扣1965-丢失信息的雇员
  • Flutter 测试全栈指南:从单元测试到黄金路径验证的工程化实践
  • EtherCAT 逐帧报文解析:配置SM/FMMU
  • Springboot连锁火锅店餐饮管理系统h2dg0(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • Windows系统文件wavemsp.dll丢失或损坏的问题 下载修复
  • Windows系统文件wdi.dll缺失或损坏问题 下载修复
  • 基于风险演进的智能测试策略设计
  • 论文查重焦虑成流量密码?虎贲等考 AI 直接用免费模式,打破行业游戏规则
  • vue基于Spring Boot的高职院校贫困生困难生智慧关爱系统的开发_f0txl8vu
  • AI 写论文哪家强?虎贲等考 AI!毕业论文全链路 “超级哇塞”,开题到答辩一路开挂~
  • Coze平台指南(1):coze平台概览与测试应用展望
  • 生物识别系统的测试安全性与漏洞防护实践
  • 我终于停止写 JUnit 了!用 JavaParser + GPT-4 自动生成 90% 覆盖率的单元测试
  • 源码读不下去?阿里架构师教你“三步走”阅读法,彻底告别“打开源码就犯困”
  • 大梵公考:国考省考每一年的岗位一样吗?
  • 大梵公考:国考和省考二选一怎么选?
  • Java中如何检测死锁?如何预防和避免线程死锁?