💼
Editor Utility Widgetのプリセット情報をリスト化する
Presetをリスト化して保存、読込できるようにする
Preset名でプリセットを保存して、リストからプリセット名を選択して読み込めるようにします。
SaveGameの派生クラスにプリセット名を格納するString配列を追加する
SaveGameの派生クラスである「BP_SaveGamePreset」にプリセット名を格納するString配列の変数を追加します。
Name | Type |
---|---|
NameArray | String(配列) |
Widgetを追加する
Preset名を入力するTextBoxと、Preset名を選択するComboBoxを追加します。
Widgetを図のように追加します。
Preset名を保存できるようにする
Saveボタンの「On Clicked」イベントに処理を追加します。
変数を追加します。
Name | Type |
---|---|
LocalSaveName | BP_SaveGamePreset |
NameArrayLocal | String(配列) |
プリセット名を保存するSaveGameファイルを作成します。
プリセット名を「SaveNames」という名前で保存します。
「SaveNames」を読み込みます。
「SaveNames」に保存されたプリセット名をComboBoxに追加します。
プリセット名に設定した名前のSaveGameにWidgetの入力値を保存します。
Preset名で読み込めるようにする
Loadボタンの「On Clicked」イベントに処理を追加します。
Preset名のSaveGameがある場合にWidgetの入力値を更新します。
EditorUtilityWidgetを立ち上げた時にPresetのリストを更新する
ウィジェットを立ち上げた時に「SaveNames」のSaveGameが存在すればConboBoxのリストを更新します。
保存と読込を確認する
実装した処理を確認します。
Widgetに入力した値にプリセット名を付けてSaveボタンをクリックします。
リストにプリセット名が追加されているので選択します。
プリセット名を選択した状態で「Load」ボタンをクリックすると入力値がWidgetに設定されます。
保存した情報は「(プロジェクトフォルダ)/Saved/SaveGames」フォルダにSaveNames.savと(Preset).savファイルが保存されます。
サンプルプロジェクト(GitHub)
GitHubにサンプルプロジェクトを置いておきました。
Discussion