現在、一種のカードゲームを作成していますが、trigger_device配列でTriggeredEventを使う方法について質問です。
下記のようにレベル上にトリガーの仕掛け(スタティックメッシュにカードを割り当て)を複数配置し、下記のVerseコードのようにtrigger_device型配列で使用しようとしています。
ゲームの仕様として
・お題を1つずつ読み上げる
・読み上げ中にトリガーの仕掛け(=カード)が射撃されたら正しいカードかどうか正解判定を行う
という処理を実装したいです。
しかし、For文(お題の配列を1つずつ読み上げるループ)中で射撃をトリガーにした正解判定を行おうとすると、定義されているのはtrigger_device配列なので、メンバとしてTriggerEventが使えません。
ポイントとしてはForが走っている最中に、レベル上にある複数のトリガーの仕掛けのどれか1つでも射撃された場合にその都度正解判定を走らせたいので、trigger_device配列にあるトリガーの仕掛けをどのように逐一TriggerEventを実行されたらいいか、ご存知であれば教えていただきたいです。
よろしくお願いします。
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /Verse.org/Random }
using { /Verse.org/Verse }
using { /UnrealEngine.com/Temporary/UI }
using { /Fortnite.com/UI }
using { /Verse.org/Colors }
#ゲーム開始時、レベル上のカードアクタをシャッフル移動するクラス
<クラス名> := class(creative_device):
# お題の配列
var Reading: []string = array[<お題の文句>]
# レベル上のトリガーの仕掛け(複数)
@editable
TriggerCard : []trigger_device = array{}
OnBegin<override>()<suspends>:void=
# ゲーム開始
Sleep(3.0)
# お題を一つずつ読み上げる
for(Index := 0..Reading.Length-1):
if (Element := Reading[Indexi]):
# お題をテキストUIとして画面に表示
<表示させる処理>
# 【今回の質問点】お題が表示中にトリガーの仕掛け(小道具カード)が射撃されたら正解判定を行う - 「TriggerCard」はtrigger_device型配列なのでこの書き方だとエラー
TriggerCard.TriggeredEvent.Subscribe(OnTriggeredEvent)
OnTriggeredEvent<private>(Readings : string)<suspends> : void =
# 射撃されたカードの正解判定処理