サイトの仕組み
私のサイトはphpで作成している。
といっても、高度なことはできなくて、ただヘッダー・フッター・メニューなどを分けて読み込むだけの単純なもの。
<div id="right_container"> <?php if(isset($_GET["page"])){ require $_GET["page"]; } ?> </div> //サイト内リンク <a href="?page=hoge.php">Hoge Page</a>
index.phpを起点にバラバラにされたページを読み込んでいく。
おそらく、これが原因だろうと思う不具合が生じたのでメモしておく。
生じた不具合
PlayerPrefsを使ったWebGLのゲームを2本作成して、それぞれのページを作成して、サーバーにアップしたところ、
セーブデータが混合されるという不具合が生じた。
ゲームページのphpをフォルダ分けしても、混合されていた。
ゲーム1・ゲーム2共にセーブデータが無い状況で、ゲーム1を途中までやってセーブし、その後、ゲーム2を開くとセーブデータが無いはずなのに何かを読み込んでいた。
おそらく、先にやったゲーム1のデータのようだった。
逆の手順でも同じことが起きた。
競合する変数名があるのも問題だったのかもしれない。
しかし、読み込むファイルが同じになるのはなぜ?
そもそも、どういう風にセーブデータファイルが作成されているのだろうか?
セーブデータファイルが作成される場所
unityのバージョン・OSによって、保管場所が異なるみたい。
ライブラリ > Preferences > unity.[company name].[product name].plist
ここには、それぞれのプロダクト名でファイルが作成されていた。
ちゃんと、2つあるではないか!
回避策
深まる謎。実は、謎は今も解けていないのだが、回避する方法は見つけた。
(1)htmlにする。
(2)プロジェクトごとにフォルダ分けをして、ゲームページもそのフォルダに入れる。
なんとも、逃げな感じがするが、とりあえず回避できた。
未だに、シンプルなテキストエディタでゴリゴリ書いてる私にとっては、html縛りがあるのは痛い。
以上。