Gaming Life

一日24時間、ゲームは10時間

特定のBPインターフェースを実装しているか判定する関数(Does Implement Interface)

 超小ネタ。

 特定のインターフェースを実装しているかどうかで処理を分けるには、「Does Implement Interface」という関数を使えば良さそう。

f:id:ai_gaminglife:20180327170639p:plain

 上の画像は現在制作中のゲーム。青色の矢印床には「インターフェースA」を実装しており、橙色矢印床には実装されていない。このアクターは全てOverlapするBox Collisionコンポーネントを持っている。

f:id:ai_gaminglife:20180327170647p:plain

 これは緑色の砲台から発射される弾のBP。何かがOverlapした時、それが「インターフェースA」を実装していたら「EndEvent」、そうでなければ「False」と表示する。

 castを使えばもっと単純に処理を書けますが、インターフェースを通じてアクセスすることで依存性を下げることができます。

 ぶっちゃけBPインターフェースについてはよくわかってないのでもっといい方法があるかも……?