Unity改SpriteLibrary屁股

问题描述 投票:0回答:1

我不太明白该项目是如何工作的,代码是如何编译的,以及什么可能会阻止这种情况。我有一个代码需要来自 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 已反编译,我无法以任何方式编辑它。如何修复它?我确信我做错了,但是我怎样才能做对呢? enter image description here

我现在不明白如何编辑它?或者我还能做什么才能让它正常工作?

unity-game-engine 2d
1个回答
0
投票

这似乎是一个套餐

Unity 检查更改并从缓存或下载中恢复包(如果尚未缓存)。

如果您确实需要修改其中之一,您可以通过将其从 Library/PackagesCache

 复制到 
Packages
来使其成为嵌入式包

© www.soinside.com 2019 - 2024. All rights reserved.