上下文:在对象的描述文件更改时重新加载对象的非侵入式方法
重点:添加对现有代码库的最小更改的对象的动态重新加载
FileSystemWatcher
由或类似调用的函数:
void OnFileChanged(string filename, ...)
{
var old3 = GetAssetByFilename(filename);
var new3 = LoadAsset(filename);
...
Utils.CopyFields(new3, old3);
...
}
笔记:
- 克隆不起作用,因为所有对象都指向旧副本
- 有多个相似的资产列表
- 改变
LoadAsset
功能是不行的,有多个Load*
功能要改变 - 换班
Asset
是不行的 - 复制必须包括私有字段等。