在我的团结游戏单位可以拿起一个新的武器。有四个相关的类;单位,子弹(这两个都是游戏物体上的monobehaviour类),武器,弹头(都不应该作为3D空间中的游戏对象存在)。实施武器依赖(单位/武器/弹丸/弹头)[Unity3D C#]
除了各种属性(伤害,射程等)之外,武器实例必须存储弹头和射弹作为属性;前者是一个类实例,后者是一个预制件。武器级有一种射击方法,可以实例化射弹,瞄准它,应用弹头并重新装填。
我遇到过这个问题,因为没有继承monobehaviour的类,或者是脚本对象,不能在编辑器窗口(或通过代码知道我的知识)中分配预制件。并且脚本对象也不能在编辑器中分配。我不能通过检查员或代码将武器或武器分配给武器。像这样将scriptableobject和monobehaviour类串起来会破坏我的代码。
我以前的工作是通过为单元类指定预制参考以及拍摄方法。目前有一个基地弹头和基地武器班,从中派生出儿童,这就是我希望它留下来的方式。但是我对于如何将所有武器方法和属性放入单位课程感到不满意,因为我希望将武器的射击功能放入武器中(这很合理?),并将武器的单位与武器分开。
实施该系统的最佳方式是什么?
我讨厌这么说,但是你应该考虑版本控制(就像你提到的那样,它“曾经工作过”)。 – MiningSam
@MiningSam这总是很好的建议,但它并不重要,因为问题是试图让monobehaviour和非类进行交互,并且抛出错误,我不知道如何最好地解决该实现。 – inappropriateCode