レジストリぶっこみマンで有名なPlayerPrefsに代わるセーブシステムは色々あるが、シンプルさ優先でPerlibを購入・使ってみた。
2016/3/22: 追記
削除されていました。oh....
Perlib - Unity Asset Store
↑にアクセスするとパブリッシャー名はUnity Sucksになっているわ、サポートへのリンクはUEのトップページになっているわで悲惨な状態に....
代替アセットを探すか、自前でxml読み書きするクラス作らんとですわ。
指定のフォルダに暗号化したセーブデータとファイルを書きだす。
暗号化キーはサンプルそのままだとアレなので皆はアレしような。
セーブデータを生成してSetValueで保存、GetValueで読み込み。大変シンプル。
気に入ったのは、自作クラスをシリアライズして保存してくれる点。
現在はPC/Mac用に Environment.SpecialFolder.MyDocuments でドキュメント内にセーブフォルダを作っている。
iOS/Androidはやってないのでわからないが、Application.persistentDataPathあたりで保存と読み込みをすれば大丈夫だと思う(投げやり)。
STEAMWORKSに対応させるときにどうなるかは追記予定。
仕組みとしては、内部でXMLにしてから暗号化してるようだ。
そのため、Dictionary及びHashSetを含むクラスは保存できないので注意。
(自分は途中で気が付いてListで管理するよう書き換えた)
ちなみに暗号キーを間違えると「Bad PKCS7 padding~~」というエラーが出るので、こいつを目撃した人は読み込もうとしているセーブデータのキーが間違ってないか確認だ。
0 件のコメント:
コメントを投稿