void Awake() { iEntranceList = new List <IEntrance>(); Instance = this; //该脚本不能在加载场景时被销毁 DontDestroyOnLoad(gameObject); }
/// <summary> /// 递归方法 /// 运行已选择的ros脚本 /// <para>核心方法</para> /// </summary> /// <param name="treeNode">Tree下的根节点</param> /// <param name="path">给定的母路径</param> private void RunSelectedRos(TreeNode treeNode, string path) { //循环节点,循环外层 foreach (TreeNode signode in treeNode.Nodes) { //如果下属子节点存在,属性为folder if (signode.Name == "folder") { string newpath = path + "/" + signode.Text; RunSelectedRos(signode, newpath); //递归查询 } else { //如果是ros脚本 if (signode.Text.Contains(".ros") && signode.Checked) { //更新路径 string newpath = path + "/" + signode.Text; //检查和创建临时文件夹 ComArgs.UseRosName = Path.GetFileNameWithoutExtension(newpath); ComArgs.RoLog.WriteLog(LogStatus.LInfo, "==========================================================="); ComArgs.RoLog.WriteLog(LogStatus.LInfo, $" 脚本{ComArgs.UseRosName}开始执行..."); ComArgs.RoLog.WriteLog(LogStatus.LInfo, "==========================================================="); AnalysisRoc(ComArgs.GuiUsePath.RocPath); //解析配置文件 //执行脚本 MainEntrance mainEntrance = new MainEntrance(newpath); ComArgs.RoLog.WriteLog(LogStatus.LInfo, "==========================================================="); ComArgs.RoLog.WriteLog(LogStatus.LInfo, $" 脚本{ComArgs.UseRosName}执行完成..."); ComArgs.RoLog.WriteLog(LogStatus.LInfo, "==========================================================="); } //非ros脚本不处理 } } }