最終更新:
orika_ex_miyako 2021年04月26日(月) 21:36:13履歴
いままでの実装において、ゲームのベースとなるシステムなどはすべて完成しました。
後は、自分でブラッシュアップを行いながら、新しいシステムを組み込んだり、オリジナル要素を考えて取り入れていきましょう。
手順27 −自分で処理を組み立てる−
48.課題に沿った実装を組み立てる
新しい学習内容は、以下の通りです。
・いままで総まとめ
この状態ですと、行き先のボタンを設定するたびに手動で JobData クラスを登録しています。
まずは、この JobData クラスをデータベース化し、複数の JobData を事前に登録できる状態にしてみましょう。
この処理にはスクリプタブル・オブジェクトを作成する方法で実装できます。
すでに管理するクラスはありますので、スクリプタブル・オブジェクトを作成し、JobData クラスを管理するためのスクリプトを自分で作成してみてください。
スクリプトが作成できたら、スクリプタブル・オブジェクトを作成します。
そちらに複数の JobData をインスペクターから登録しておきます。
JobData クラスのスクリプタブル・オブジェクト

スクリプタブル・オブジェクトが作成できたら、次は、この情報を運用する必要があります。
GameManager スクリプトを修正して、JobData 用のスクリプタブル・オブジェクトをスクリプト内で扱えるようにしてください。
それが実装できたら、次の手順です。
TapPointDetail スクリプトには、MyJobNo 変数という、行き先のお使い番号を設定できる変数が用意してあります。
この情報を活用して、ゲームの実行と同時に、GameManager スクリプトが TapPointDetail スクリプトへ命令を出して、
各 TapPointDetail スクリプトの MyJobNo 変数と、その値と同じ値を持つ JobData クラスの情報をスクリプタブル・オブジェクト内で照合して取得し、
自動的に TapPointDetail スクリプト内の JobData クラスの内容が変更になる処理を実装してください。
各 JobData クラスには JobNo 変数があります。この JobNo 変数の値と、MyJobNo 変数の値を照合する方法を考えてください。
このとき注意点としては、MyJobNo 変数が private 修飾子であることです。つまり、そのままでは外部のクラスから参照できません。
外部クラスで利用するにはどうすればいいかを考えて対応してみてください。
また TapPointDetail スクリプトに GameManager スクリプトから JobData クラスの情報を渡すための処理も必要です。
これはいままで実装してきた処理の総まとめになります。
スクリプタブル・オブジェクトの参照方法、特定の番号とスクリプタブル・オブジェクトのデータを照合する方法、
外部のクラスから TapPointDetail スクリプトで利用する JobData クラスの情報をメソッドを通じて渡す方法、などを利用して実装します。
がんばって挑戦してみましょう。
自分で処理を細かく分けて、どのような処理を組み合わせていけばいいのかを、書き出してみるといいです。
処理の順番も大切ですので、GameManager スクリプトの処理がどんな順番で動いているのかを把握しておく必要があります。
<実装動画 MyJobNo の値が 2 の場合、JobDataSO スクリプタブル・オブジェクトの JobNo が 2 のデータと照合して反映する>
動画ファイルへのリンク
以上でこの手順は終了です。
次は 手順28 −実装全体の振り返り− です。





コメントをかく