如果不扩展MonoBehaviour,则无法使用Unity脚本

时间:2018-04-21 18:21:35

标签: c# unity3d

我创建了一个Unity C#脚本,我想用它来存储它附加的对象的数据。

该类只有两个字段,并且没有任何行为。因为它没有任何行为,所以感觉不必延长MonoBehaviour

理想情况下,我想完全不做任何扩展,但我也尝试扩展BehaviourMonoBehaviour扩展),在这两种情况下,我在侧边栏中遇到以下错误:

  

无法加载关联的脚本。请修复任何编译错误并分配有效的脚本。

我是否可以在没有扩展MonoBehaviour

的脚本的情况下将脚本附加到对象

2 个答案:

答案 0 :(得分:3)

Unity在使用附加到游戏对象的脚本时做出某些假设,并且使其安全的一种方法是将脚本强制为MonoBehaviour的子类。

在我看来,拥有一个"实体类"附加到您的游戏对象。虽然通常数据及其行为都应该结合在一起,但有时您可能会将游戏/应用程序设置为具有访问其他对象的中间人对象。属性。例如,AI代理人检查附近敌人的健康点以选择最弱的一个。因此,如果您认为附加脚本只是为了向游戏对象添加数据是合理的,那就去吧,即使它意味着扩展MonoBehaviour

答案 1 :(得分:1)

不,如果没有扩展MonoBehaviour

,则无法向GameObjects添加脚本