質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

1612閲覧

インスタンス化されたゲームオブジェクトによるメソッドの察知

Yukirr4_

総合スコア728

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

1グッド

0クリップ

投稿2020/09/04 09:29

編集2020/09/04 09:30

不特定多数の敵オブジェクト(EnemyA, EnemyB, ....)にアタッチされているC#コンポーネントEnemyControllerのメソッドを同時に実行したいです。

ゲームシステムを管理しているC#コンポーネントSystemControllerで、敵オブジェクトを全員倒す処理を実行しようと思います。

GameObject.FindGameObjectsWithTagなどを使ってすべての敵を取得することは可能ですが、システムが探すのではなく敵がシステムを察知して自らDie()するようにしたいです。

C#

1public class SystemController : MonoBehaviour 2{ 3 //あるタイミングでこれを実行 4 void KillAllEnemies() 5 { 6 /* ここでシーン上に存在する敵をすべて倒す 7 EnemyControllerのDie()を実行 */ 8 } 9}

C#

1public class EnemyController : MonoBehaviour 2{ 3 public void Die() 4 { 5 //SystemControllerのKillAllEnemies()を実行されたことを察知してDie()を実行。 6 } 7}

どなたか関数を察知するような機能を教えてください。お願いします。

Hawn👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

たぶん、イベントハンドラが希望の動作に近いと思います。

Observerみたいな形式にすると、お互いに依存しない作り方もできると思います。
イベント通知を管理する専用の奴がいて、Enemy側は受信購読を、SystemController側は通知送信をそいつを経由して行う感じです。
イメージ説明
※ Unityで複数のGameObjectに一斉に通知する方法 Notification, EventBus より引用

参考
【Unity】Event関連の一体どいつがイベントハンドラー、Sender、Receiverなのか
https://www.hanachiru-blog.com/entry/2019/05/09/194400

Unityで複数のGameObjectに一斉に通知する方法 Notification, EventBus
http://www.project-unknown.jp/entry/unity-notification

投稿2020/09/04 09:45

hogefugapiyo

総合スコア3302

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問