私のユニティでは、ユニットは新しい武器を拾うことができます。関連する4つのクラスがあります。ユニット、射撃砲(どちらもゲームオブジェクトの独特のクラスです)、武器、弾頭(どちらも3d空間のgameオブジェクトとして存在すべきではありません)。武器依存の実装(ユニット/武器/弾薬/弾頭)[Unity3D C#]
武器のインスタンスには、さまざまな属性(損傷、範囲など)に加えて、弾頭と弾丸をプロパティとして格納する必要があります。前者はクラスインスタンスであり、後者はプレハブである。武器クラスには、弾丸をインスタンス化し、それを目標とし、弾頭を適用し、再装填する射撃方法があります。
私はこの問題に遭遇しました。モノブロックを継承しないか、scriptableobjectsであるクラスは、エディタウィンドウ(またはコードを通して私の知識)にプレハブを割り当てることができません。エディタでもscriptableオブジェクトを割り当てることはできません。私は射撃兵を査察官やコードによって武器や武器に割り当てることはできません。そして、scriptableオブジェクトとmonobhaviourクラスを一緒にストリングすると、私のコードが壊れてしまいます。
これまで、シュートメソッドとともにプレハブリファレンスをユニットクラスに割り当てることで、これまでの作業ができました。現在のところ、ベース弾頭とベース武器クラスがあり、そこから子供たちが派生しています。これは、私が残したいものです。しかし、私は武器に射撃機能を入れて(意味があるのですか?)、ユニットを兵器からきれいに分離したいので、武器のメソッドとプロパティをすべてユニットクラスに入れなければならないのはうれしいです。
このシステムを実装する最善の方法は何ですか?
私はそれを言いたくはありませんが、あなたはバージョンコントロールを考慮する必要があります(あなたが言及したように、それは "うまくいきました")。 – MiningSam
@MiningSamそれは常に良いアドバイスですが、問題はモノブロックと非クラスを相互作用させようとしているため、重要ではありません。エラーが発生し、その実装をどのように最善に解決するべきかわかりません。 – inappropriateCode