好的,我的C#代码段如下所示:
#if ASSET_BUNDLE_PKG
loadfromAssetBundle();
#else
loadfromResources();
#endif
我还有另一个脚本可以执行此操作:“如果它在项目中检测到“资产捆绑包”,则将定义指令ASSET_BUNDLE_PKG统一。如果检测到该包不存在,则将其删除定义指令ASSET_BUNDLE_PKG团结一致。”很简单。
现在,当我添加程序包并运行代码时,一切正常,并从资产捆绑包中统一加载。
当我删除软件包并运行代码时,一切正常,并从资源中统一加载。
当我再次添加软件包时,会发生以下情况:
1- Mono开发会将代码还原为:
loadfromAssetBundle();
也就是说,它会完全删除#if语句。
2-显然,我遇到了编译器错误,因为如果不存在该软件包,则无法从资产捆绑中加载!那就是#if语句的初衷!
谁在独自更改脚本?
答案 0 :(得分:0)
好的,这是问题所在。
该软件包包含一个源自“ xyz.cs”的脚本。包含我在问题中发布的代码的脚本也源自脚本“ xyz.cs”。两者都使用同一个文件,这可能导致了mono development的怪异行为。我制作了一个“ xyz.cs”的副本,将其重命名并将其放置在程序包中,并在程序包中使用的任何位置更新了名称。