Quest

プレイヤーをクエストに送ります。任意の数のクエストを完了して報酬を獲得しましょう。
これは、スクリプト可能オブジェクトに大きく依存して、柔軟なクエストシステムを作成します。
各クエストはその状態を保持し、各クエストは受け入れられたレベルで完了する必要はありません。
したがって、複数のゲームレベルにまたがるクエストを簡単に設計できます。

QuestInventorySO

このスクリプト可能オブジェクトはクエスト オブジェクト (QuestSO) を作成し、インスペクターで変更できるリストに保存します。
新しい QuestSO を作成するには、名前を付けて [Create New Quest] ボタンを押すだけです。
新しい QuestSO は AssetsFolder/Quests/QuestSO フォルダーに配置されます。
削除する場合は、手動で行う必要があります。

QuestInventorySO を作成するには、プロジェクト ウィンドウを右クリックして [Create/FlareEngine/QuestInventorySO] に移動します。

QuestSO

このオブジェクトは、すべてのクエスト情報を保存する役割を担っています。
追加ボタンを押すと、必要な数の報酬が追加されます。
削除ボタンを押すと、保存されたデータが削除されます。

Property
Titleクエストの名前。
この名前はゲーム全体で一意である必要があります。名前が変更された場合は、リロード ボタンを押してアセット名も更新してください。
Goalプレイヤーが達成しなければならないことの数。これは 1 つ以上の場合があります。
たとえば、プレイヤーに 3 つのレアな宝石を集めるというタスクを与えることができます。
Iconクエストのアイコン。
このスプライトはQuestUIに表示されます。
Descriptionクエストの要件を説明します。
これは QuestUI に表示されます。
Property
Name報酬の名前。
Reward報酬の価値。
World Float SOクエストが完了すると報酬値によって値が増加するワールドフロートへの参照を設定します。
必要ない場合は空のままにできます。
Inventory ItemInventorySO と ItemSO への参照を設定します。クエストが完了すると、指定されたアイテムがインベントリに追加されます。
必要ない場合は空のままにできます。

Quest

このコンポーネントはシーン内に存在します。このコンポーネントには 2 つの役割があります。
ユーザーがクエストを受け入れると、クエストがアクティブになります。この場合、受け入れメソッドをトリガーできる NPC またはオブジェクトに配置します。
また、クエストの進行状況をチェックします。その場合、収集する必要があるアイテムまたは破壊する必要がある敵に配置します。これらのオブジェクトは進行メソッドをトリガーする必要があります。

クエスト コンポーネントの 2D コライダーが「Is Trigger」に設定されており、プレイヤーが PickUpItems コンポーネントを持っている場合、クエスト アイテムはプレイヤーによって自動的に受け入れられます。

Property
Quest SOアクティブ化する必要があるクエストを選択します。
Quest UIクエスト情報を表示する QuestUI への参照。これはオプションです。
Add To Journalアイテムが見つかった場合、シーン内に存在する場合は指定されたジャーナルに追加されます。
OnQuestAcceptedクエストが受け入れられたときに呼び出される Unity イベント。
OnQuestCompletedクエストが完了したときに呼び出される Unity イベント。
Methods
OpenQuestWindow()QuestUI が存在する場合は、それが開かれます。
AcceptQuest()クエストを受け入れるには、このメソッドを呼び出します。これにより OnQuestAccepted が呼び出され、クエストはアクティブであると見なされます。
ProgressQuest()クエストを進めるには、このメソッドを呼び出します。
たとえば、プレイヤーに 3 枚のコインを集めるというタスクが課されている場合、コインが集められるたびにこのメソッドを呼び出す必要があります。このメソッドが呼び出されるたびに、クエストは目標に向かって進み、目標と同じ値になるとクエストが完了します。これにより、OnQuestCompleted が呼び出されます。

QuestUIAccepted

クエストのタイトル、説明、報酬を表示します。
すべての UI はオプションで、必要な UI 参照をドラッグ アンド ドロップするだけです。
UI のスタイルとデザインは完全にあなた次第です。
※原文にあやまりがありそうなので調査中(特に見出し)

Property
Titleクエストの名前を表示する TextMeshPro
Descriptionクエストの説明を表示する TextMeshPro。
Rewardsアイコン、名前、報酬額、説明を入力します

QuestUIAccepted

これは QuestUIAccepted と同様に機能します。
この UI クラスは、クエストが完了するとクエストのタイトルとメッセージを表示します。
※原文にあやまりがありそうなので調査中

Property
Titleクエストの名前を表示する TextMeshPro。
Exit Buttonこのボタンを押すと、UI ウィンドウが閉じます。
Time Outボタンが存在しない場合は、タイムアウト期間後に UI ウィンドウが自動的に閉じます。
タイトルとURLをコピーしました