セーブデータをキャプチャ画像ではなく、指定したサムネイル画像を利用できるように拡張しました。
添付のパッケージファイルを適用してください。
(添付ファイルのダウンロード後に、拡張子が *. gzになっている場合は、*.unitypackageに変えてからプロジェクトに適用してください)
少し手順が多いのですが、以下の通り設定を行ってください。
1. 表示するサムネイル画像の定義シートの追加
まず、宴プロジェクト名/
ScriptableObject フォルダ以下に、
ProjeectWindow上の右クリックして、Create>Utage>CustomData>UiTexutreDataConainer をクリックして、UI画像定義用の拡張データコンテナを作成します。
作成したデータコンテナを、宴プロジェクト名/ScriptableObject/CustomProjectSettingアセットの、CustomDataSettingsのDataContainerCretorsに追加してください。
使用するサムネイルが画像の設定シートを作成します。
UiTextureというシート名(CSVならファイル名)を追加してください。
・識別用のLabel名
・表示画像FilePath (「宴プロジェクト名/Resources/宴プロジェクト名」以下からの相対パスになります)
それぞれの項目を設定してください。
2 セーブファイルに記録するUI画像ラベル名を保存するパラメーターの追加
Paramシートに、String型の任意の名前のパラメーターを追加してください。
例)save_thumbnail
AdvEngineオブジェクトのAdvSaveManagerコンポーネントに「Thumbnail Param Name」という項目が追加されているので、
ここに先ほど追加したパラメーター名(例:save_thumbnail)を設定してください
3 セーブボタンのUIプレハブを編集
宴プロジェクト名/Prefabs/UI/SaveLoadItem.prefabのプレハブを選択し、編集画面を開く
SaveLoadItem/CapatureImageオブジェクトに「AdvUguiLoadGraphicFile」コンポーネントをAddComponentする。
SaveLoadItemオブジェクトに「UtageUguiSaveLoadItemThumbnail」コンポーネントをAddComponentし、
TextureにCaptureImageオブジェクト設定する
4 シナリオラベルのArg3に、1のUiTextureシートに設定したテクスチャのラベル名を設定
SavePoint形式かどうかに関わらず設定可能です。
以上の手順で、セーブの表示イメージが、キャプチャ画像ではなく、指定したラベル名に対応するテクスチャになります。
Arg3に直接テクスチャパスを指定する形にしようかとも思ったのですが、
DL対応が必要な時に対応できなくなってしまうのと拡張性が低くなる懸念があったので、
手順が増えてしまうのですが、1のUiTexureシートというのを追加する形にしました。
また、4の手順でシナリオラベルのArg3でテクスチャラベルを設定する形にしている部分では、
Arg3が空欄のままだと通常通り実行画面のキャプチャを使用する形に戻ってしまいます。
AdvSaveManagerコンポーネントに「Thumbnail Param Name」が設定されている場合は
・Arg3が空欄の場合は前の状態を継続する(テクスチャラベル名が既に設定されていればそのままして、キャプチャ形式に戻さない)
・Arg3が空欄の場合はエラーか警告を出す
・・・といったような処理があったほうが良いのかなとも思ったのですが、決めかねています。
この点、よろしければご意見いただければと思います。
2024年6月23日日曜日 13:56:39 UTC+9 M.N: