有没有办法支持检测到UIProject下文件变动时,自动触发“刷新”逻辑

比如git更新下来其他人提交的ui文件时,fairygui编辑器可以自动刷新吗?
 
遇到的主要问题是,多人编辑有交集的包的时候可能会互相覆盖
例如A提交了package.xml的变动,B更新下来后未执行刷新,导致B覆盖了package.xml
已邀请:

SunHowe

赞同来自:

没有找到现成的监控文件变动api,索性讨个巧,当检测到从其他窗口返回到编辑器时,都触发一次RefreshProject

SunHowe

赞同来自:

插件源码如下,有需要自取
 
 
"use strict";

const csharp_1 = require("csharp");
const App = csharp_1.FairyEditor.App;

let preActive = App.isActive;

let onUpdate = function() {
var active = App.isActive;
if (preActive == active) {
return;
}

preActive = active;
if (active) {
// 从后台返回
console.log("检测到从后台返回, 触发App.RefreshProject();")
App.RefreshProject();
} else {
// 切到后台
// console.log("检测切到后台")
}
}

App.add_onUpdate(onUpdate);

exports.onDestroy = function(){
App.remove_onUpdate(onUpdate);
}

要回复问题请先登录注册