我不太明白该项目是如何工作的,代码是如何编译的,以及什么可能会阻止这种情况。我有一个代码需要来自 SpriteLibrary 的数据。我不明白如何从 SpriteLibrary 获取我需要的数据,所以我在 SpriteLibrary 本身内部创建了这个方法。
public void CopyLibraryFrom(SpriteLibrary sourceLibrary)
{
foreach (var sourceCategory in sourceLibrary.m_Library)
{
var targetCategory = new SpriteLibCategory
{
name = sourceCategory.name,
categoryList = new List<SpriteCategoryEntry>()
};
foreach (var sourceEntry in sourceCategory.categoryList)
{
var targetEntry = new SpriteCategoryEntry
{
name = sourceEntry.name,
sprite = sourceEntry.sprite
};
targetCategory.categoryList.Add(targetEntry);
}
m_Library.Add(targetCategory);
}
CacheOverrides();
RefreshSpriteResolvers();
我遇到的第一个问题是 Visual Studio 自动删除了这个方法以及我在 SpriteLibrary 中所做的任何更改。但如果我多次取消自动删除,代码就会被保存。我将其归结为 Unity 会自动更新 SpriteLibrary 并将其重置为默认值。是否有可能通过正常保存来完全编辑 SpriteLibrary?或者我做错了什么? 我已经一个月没有打开 Unity 了,又出现“CopyLibraryFrom 方法不存在于 SpriteLibrary 中”之类的错误。我再次打开它,但现在它说 SpriteLibrary 已反编译,我无法以任何方式编辑它。如何修复它?我确信我做错了,但是我怎样才能做对呢?
我现在不明白如何编辑它?或者我还能做什么才能让它正常工作?
这似乎是一个套餐。
Unity 检查更改并从缓存或下载中恢复包(如果尚未缓存)。
如果您确实需要修改其中之一,您可以通过将其从 Library/PackagesCache
复制到
Packages
来使其成为嵌入式包