自作ゲームの進捗10:アイテム取得とセーブ&ロード
続けてゲームの進捗報告です。
以前アイテムのセーブやロードの仕組みだけは作ってたんですがちゃんと組み込んでいませんでした。
そこで今回はキーアイテムの取得フラグを実装し、セーブとロードの仕組みを整えました。
ゲーム開始時は懐中電灯を持っていませんが、取得後にセーブしてゲームを再開すると懐中電灯を持っています。
また、ロード時に取得しているアイテムはその場から消えるようにしました。
以降は内部的な話です。
この辺りの基本機能はアイテム全般に利用するため、インタラクト可能なアイテムのベースBP にまとめておき、どのアイテムを示すのかは Enum で列挙した変数を持っているので継承先で指定するようにしています。
Game Instance にアイテム取得フラグを管理してるマップ変数が置いてあるので、EventName(Enum)を渡し、Find した結果を返します。
「Get Game Instance」から Blueprint Interface を利用する方法は以前 Stack O Bot から学んだ手法です(BPI が Game Instance へのアクセサのような役割をしてくれてます)
キーアイテムを取得した際は Game Instance への通知と、キャラクターへの通知を同時に行うようにしました。
Game Instance には Save Data Object との連動も行ってるのでそのままセーブすれば、取得したアイテムのフラグなども保存され、ロード時にその情報が利用できるようになりました。
セーブやロード周りは実際に BP を組んで試さないと分からないので黙々と BP を組むしかなかったんですが、思いのほかスムーズにプロジェクトへ統合できました。
そして、なんと!
GW に4連休があります!!!!
(しれっと有給申請したら通ってました!)
ただですねぇ...5月5日、私の YouTube チャンネルが1周年を迎えるためそれ用の動画の準備で潰れそうですw
そんな動画作ってないで他の動画はよ!というのはあるんですが1年間振り返って~の動画は作りたいと思います!