所以我使用CustomEditor设置来制作Spawn Point管理器。我已经设置了在场景中添加生成点(让我们称之为Room 1),没有问题。接下来我需要做的是加载一个不同的场景(2号房间),并将门互动参考作为房间1的一个生成点。我已经设置了等式的所有部分,除了如何获得房间1中的生成点列表我正在编辑Room 2场景。
在我编辑Room 2场景时,有没有办法调用Room 1场景中对象中的值设置查询?请记住,这是在编辑器/检查器中,而不是在应用程序运行时,所以我认为玩家prefs和DontDestroyOnLoad不会在这里提供帮助。
有什么想法?谢谢!
答案 0 :(得分:2)
不,你不能。编辑器让你打开一个场景。您可以将不同的场景视为不同的世界。 您可以使用EditorApplication.OpenSceneAdditive将场景内容添加到当前打开的场景中。顺便说一下,这对你的情况没用,因为添加的场景的对象被复制到打开的对象中。有没有办法调用对象中的值设置查询 我正在编辑Room 2场景时的1室场景?
如果你需要在场景之间共享对象,你有2种方法可以做到:
在您的情况下,我会做的或多或少是:
GameObject
,附加一个名为SpawnPointManager
的{{3}}。Prefab
创建GameObject
。Prefab instance
经理{/ 1}}放入所有场景。SpawnPointManager
Component
由于您的所有Prefab instances
都链接到同一个Prefab
,即使它们位于不同的场景中,基本上也可以共享相同的对象(可从检查器访问)。因此,如果您修改prefab
它自己(或其实例并将修改应用回链接的预制件),所有预制实例(即使在不同的场景中)都会看到修改并将更新相应的链接预制。