ゲーム内に「セーブデータを削除する」ボタンを設置したい

52 views
Skip to first unread message

nunu

unread,
Jun 8, 2025, 2:16:53 AM6/8/25
to 宴ユーザーグループ
・宴のバージョン:4.1.9
・Unityのバージョン:2022.3.21f1
・OSバージョン:Windows11
・Unityの習熟度:宴のSendMessageは使えます

お世話になっております。
掲題の通りの目的なのですが、プログラム(C#)から宴のセーブデータを削除することは可能でしょうか?

ユーザーがゲーム内の独自UIのボタンを押す→(確認のダイアログ等を出す)→セーブデータ削除のプログラムを呼び出す→(削除後ゲーム終了)というイメージです。

「SystemUiDebugMenu.cs」にもセーブデータ削除+ゲーム終了のプログラムがありますが、デバッグ用途以外で使ってよいものかと気になりましたので、そういう意味でも確認させていただきたいです。


当方の用途としては、ParamシートとParamTblシートの両方&通常セーブ変数とシステム変数の全てを一括で削除したいです。
自己責任で扱う前提で要望しておりますので、サンプルを初期プロジェクトに加えていただく等は不要です。

ただ、他にも「通常セーブ変数のみを削除したい」「特定のセーブスロットのデータのみ削除したい(セーブ/ロード画面に削除ボタンを設置したい)」といった需要もあるかもしれないとは思いました。

急ぎではございませんので、お手すきの際にご確認いただけると助かります!
どうぞよろしくお願いいたします。

マッドネスラボ

unread,
Jun 8, 2025, 2:59:21 AM6/8/25
to 宴ユーザーグループ
デバッグメニューそのものは、ビルドするとボタンが押せなくなるようにしていますが、
プログラムを呼び出すこと自体できるので、それを使ってもいいです。

Assets/Utage/Scripts/GameLib/SystemUI/SystemUiDebugMenu.cs の
OnClickDeleteAllSaveDataAndQuit がそのプログラムになります。
このプログラムは、PlayerPrefs.というUnity公式のセーブ機能です。(宴でもWebGLではファイル書き込みが使えないのでこっちにセーブしています)
これも消してしまうので注意してください。
問題があるようであれば、上記のプログラムをコピーして独自実装してください。

また、このプログラムではセーブデータを消すと同時に、いったんゲームを強制終了しています。(Application.Quit()
というのも、現在実行中のゲームのパラメーターが消えるわけではなくて、消すのはあくまでセーブデータのファイルです。
そのままゲームを続行して終了すると、実行中のゲームのパラメーターで再びシステムセーブデータを上書きしてしまってもとに戻ってしまうため、
消すと同時にゲームをいったん強制終了しています。
また、システムセーブデータにはパラメーター以外にも既読フラグなど、いろいろなデータも入っているので、それも消してしまうので注意してください。

>「通常セーブ変数のみを削除したい」
これはどちらかというと、パラメーターの操作になります。
AdvEngine内で、ゲーム起動時にいったんパラメーターをリセットしている部分があるので、それを参考にしてみてください。
//基本的なパラメーターをデフォルト値でリセット(システムデータ以外)
Param.InitDefaultNormal(DataManager.SettingDataManager.DefaultParam);


>「特定のセーブスロットのデータのみ削除したい(セーブ/ロード画面に削除ボタンを設置したい)」
セーブロードUIボタンに、セーブデータを削除する機能を追加する」サンプルが、
Utage/Sample/Scripts/SampleCustomSaveLoadButton.csにありますのでこちらを参考にしてください。(4.1.5で追加)




2025年6月8日日曜日 15:16:53 UTC+9 nunu:

マッドネスラボ

unread,
Jun 8, 2025, 6:40:58 AM6/8/25
to 宴ユーザーグループ
誤  PlayerPrefs.というUnity公式のセーブ機能です
正  PlayerPrefs.というUnity公式のセーブ機能も使っています。



2025年6月8日日曜日 15:59:21 UTC+9 マッドネスラボ:

nunu

unread,
Jun 9, 2025, 4:18:04 AM6/9/25
to 宴ユーザーグループ
ご回答いただき大変恐れ入ります。
「SystemUiDebugMenu.cs」のプログラムも使って問題ないとのことで安心できました!

パラメーターのリセットに関してもご教示いただき参考になります。
(「SampleCustomSaveLoadButton.cs」については確認不足で失礼しました)

これで問題なく実装ができそうです。ありがとうございました!

2025年6月8日日曜日 19:40:58 UTC+9 マッドネスラボ:
Reply all
Reply to author
Forward
0 new messages