回答編集履歴
3
余談の追記
answer
CHANGED
@@ -11,6 +11,7 @@
|
|
11
11
|
|
12
12
|
StartDataList関数とFinishMonsterListBuffer(ちょっと関数名不一致過ぎません?)関数があることからたぶん単純に追記はできないとは思いますが。
|
13
13
|
工夫すれば少ないファイル操作でモンスターを追加できるようになります。
|
14
|
+
※余談ですが、リストの末端を表す終わりはEndです。Finishは動作に対して使います。リスト保存操作の仕上げという意味ならFinishで良いですが、単にリストの終了をマークする何かを表しているならEndの方が良い気はします。
|
14
15
|
|
15
16
|
|
16
17
|
#2.過去に作成したデータをロードし、新しい個体を追加して保存しなおす
|
2
追記
answer
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
#1.File.WriteAllBytesでは追記できない
|
5
5
|
[MSDN見てください。](https://msdn.microsoft.com/ja-jp/library/system.io.file.writeallbytes(v=vs.110).aspx)
|
6
6
|
`新しいファイルを作成し`となっています。
|
7
|
-
この関数を使
|
7
|
+
この関数を使って同じパスに保存すると既存のデータは毎回消えてしまいます。
|
8
8
|
|
9
9
|
注意点としては、別の関数を使用して追記可能にしたからといってFlatBuffersがそれに対応してくれるかどうかは分からないことです。
|
10
10
|
このあたりはまた別途調査が必要です。
|
1
書式の改善
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
**※UnityもFlatBuffersも使ったことが無いので当て推量にはなりますが。**
|
2
|
-
|
2
|
+
できることは以下の3つかな…
|
3
3
|
|
4
|
-
1.
|
4
|
+
#1.File.WriteAllBytesでは追記できない
|
5
5
|
[MSDN見てください。](https://msdn.microsoft.com/ja-jp/library/system.io.file.writeallbytes(v=vs.110).aspx)
|
6
6
|
`新しいファイルを作成し`となっています。
|
7
7
|
この関数を使えば既存のデータは毎回消えてしまいます。
|
@@ -13,7 +13,7 @@
|
|
13
13
|
工夫すれば少ないファイル操作でモンスターを追加できるようになります。
|
14
14
|
|
15
15
|
|
16
|
-
2.過去に作成したデータをロードし
|
16
|
+
#2.過去に作成したデータをロードし、新しい個体を追加して保存しなおす
|
17
17
|
一番簡単な解決方法だと思います。
|
18
18
|
データを別でロードして持って置けるなら更に良いです。
|
19
19
|
|
@@ -24,16 +24,16 @@
|
|
24
24
|
ただモンスターが成長したりするなら、これで個体データを毎回書き換えるのはしんどそうですけどね。
|
25
25
|
|
26
26
|
|
27
|
-
3.
|
27
|
+
#3.モンスター毎に違うファイルにする
|
28
28
|
モンスターを個別に更新できる利点を保ちつつ、簡単な方法となるとコレになります。
|
29
29
|
2は全データを同じファイルに保存していますが、この方法の場合は複数のファイルに分けます。
|
30
30
|
|
31
|
-
a.単体のモンスターファイル毎にファイルパスを分ける
|
31
|
+
**a.単体のモンスターファイル毎にファイルパスを分ける**
|
32
32
|
ファイル名に番号でもつけて一括で管理しましょう。
|
33
33
|
対象のファイル名から始まるデータが全てのモンスターデータになります。
|
34
34
|
これらを全部走査すればモンスターの一覧を得ることもできます。
|
35
35
|
|
36
|
-
b.モンスター
|
36
|
+
**b.リストでモンスターを管理するモンスターインデックスファイルを作る**
|
37
37
|
こちらの作成は任意ですが、あるファイルに何のデータが含まれているのか保存するファイルを作りましょう。
|
38
38
|
これによって1つのファイルを見れば、他のファイルを全部開かなくてもよくなります。
|
39
39
|
|