假设我具有以下两个ScriptableObject:
ForceColumnEncryption
游戏有多个主题,每个主题都有多个级别。主题和级别以.asset文件形式存在。
现在,当我建立一个只需要public class Topic : ScriptableObject
{
public string Title;
public Sprite TitleImage;
public Level[] Levels;
}
public class Level : ScriptableObject
{
// Various level properties here (strings, Sprite, AudioClip, ...)
}
和Topic.Title
的主题选择屏幕时,Unity将如何处理Topic.TitleImage
字段中引用的ScriptableObject?会加载该数据吗?
答案 0 :(得分:2)
如果Unity从内存中加载的任何其他对象引用了一个对象,则它将被加载到内存中。
因此,如果您的Levels数组中有任何内容,它将被加载。
通常这不是问题,ScriptableObjects应该相当轻巧,但是您应该知道引用的引用,例如,如果您的关卡包含指向GameObject预制件的链接,那么GameObject引用的任何内容也将被加载,这一直贯穿整个链条。