示例#1
0
 public string Load(int num)                    //num番目のセーブデータを読み込む
 {
     if (PlayerPrefs.HasKey("hp" + num))        //もし"hp(num)"というデータが存在したら
     {
         if (PlayerPrefs.HasKey("level" + num)) //もし"level(num)"というデータが存在したら
         {
             if (PlayerPrefs.HasKey("name" + num))
             {
                 if (PlayerPrefs.HasKey("hphh" + num))
                 {
                     leveldata  = PlayerPrefs.GetInt("level" + num);
                     hpdata     = PlayerPrefs.GetInt("hp" + num);
                     levelhash  = PlayerPrefs.GetInt("levelh" + num);
                     hphash     = PlayerPrefs.GetInt("hph" + num);
                     hphashhash = PlayerPrefs.GetInt("hphh" + num);
                     if (leveldata % levelshash != levelhash)
                     {
                         PlayerPrefs.DeleteAll();//もし改変されていたらすべてのデータを削除する
                         return("save data had breaked!");
                     }
                     if (hphash % hpshashhash != hphashhash)
                     {
                         PlayerPrefs.DeleteAll();
                     }
                     if (hpdata % hpshash != hphash)
                     {
                         PlayerPrefs.DeleteAll();
                         return("save data had breaked!");
                     }
                     if (leveldata % levelhashplus != 0)
                     {
                         PlayerPrefs.DeleteAll();
                         return("save data had breaked!");
                     }
                     leveldata = leveldata % levelhashplus;
                     datamanagement.Saver(hpdata, leveldata);
                     named = PlayerPrefs.GetString("name" + num);
                     return(named);
                 }
             }
         }
     }
     return("save data is nothing");//データがない場合はfalseを返す
 }