そのため、2DスペースRTSに攻撃を導入し始めています(これはUnityに含まれているため、コンポーネント駆動型です)。当初は、「範囲内の敵、ダメージが与えられた」という単純なものでした。ただし、特定の船または構造物に関連付けられた複数の「タイプ」の武器/攻撃があります。損傷の種類など、過去の生の損傷だけでなく、将来の慣性も関係する他の要因と同様に。
各ユニットと構造タイプに独自の攻撃タイプがありますか?つまり、攻撃の種類、ダメージ、効果、範囲、パーティクル、スプライトなどを定義する各ユニット/構造のスクリプトを作成し、それをコンポーネントとして添付しますか?
または、攻撃タイプを定義するスクリプト、それに関連付けられた発射物タイプのスクリプトなどを作成します。次に、それらを拡張し、ユニットごとに変更して、各スクリプトをユニット/構造にアタッチします。
私はある程度意味があることを願っています、私はこれを長い間熟考してきたので、問題を解決するのか、それとも自分の問題を作り上げて穴に掘るのか分からない
特定のユニット/構造に限定される場合とそうでない場合がある多数の攻撃タイプを持つことができるゲームがある場合、コンポーネント駆動設計環境でそれを特定のユニット/構造に結び付けるフレームワークをどのように設計しますか?
これが十分に明確でない場合はお知らせください。
編集:素晴らしい答え、ありがとう。
拡張質問:
答えは、「各オブジェクトが独自の攻撃スクリプトを持つことができる」から「攻撃タイプを独自のスクリプトとして使用し、それを各オブジェクトに割り当ててより再利用可能なソリューションにする」までさまざまです。「ブラスター」攻撃があるとしましょう。それは特定の速度で赤い発射体を発射します。ダメージ、発射速度、および発射物のサイズは、発射するユニットに依存します。そのユニットの攻撃スクリプトを作成するだけの方が良いでしょうか、それとも、それを使用したい各ユニットの目的に合うように「ブラスター攻撃」を試して修正する方が良いでしょうか?