普段どおりBinaryFormatterを使用してセーブデータを作ろうとした際のメモ。
BinaryFormatterに関してはこちらを参考にさせて頂きました。
○オブジェクトの内容をバイナリファイルに保存する: .NET Tips: C#, VB.NET, Visual Studio:
http://dobon.net/vb/dotnet/file/binaryformatter.html
そして今までUnity以外で組んでいた際に使用していた
下記のコードを使用して実行パスを取得。
public static string GetAppPath() { return System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().Location); }
これを用いて保存先を
string path = GetAppPath() + @”\savedata.sav”;
のように定義していました。
・・・しかし実行してみるとエラーは出ないものの何処に保存されているか分からないという事態に。
そこでGetAppPathの戻り値を調べてみると・・・何も返って来ていませんでした。
どうやらこの方法は使えないようです。
ちなみに保存先ですが、System.IO.Path.GetFullPathで調べると
> C:\savedata.sav
となっておりました。相対パスになるかと思いきや、ちょっと意外。
・・・で、現在は以下のようにしております。
public static string GetAppPath() { return Application.dataPath; }
これは実行パスではなく、実行ファイルと同じディレクトリにあるデータフォルダ・・・?
のパスを持っているようです。
明確な事までは分かりませんが、今の所これで問題なさそうなんで
このまま進めて行くことにします・・・