/// <summary> /// Newアイコン非表示 /// </summary> public void HideNewIcon(int num) { // 番号に応じたNewアイコンを非表示、フラグをリセット switch (num) { case (int)NewIcon.Rabbit: // 全項目がNewアイコン表示中ではなかったら if (!GameDataManager.Inst.PlayData.ExistDrawNewIconRabbit()) { GameDataManager.Inst.PlayData.IsNewReleasedRabbit = false; newIcon[num].gameObject.SetActive(false); } break; case (int)NewIcon.Skin: // 全項目がNewアイコン表示中ではなかったら if (!GameDataManager.Inst.PlayData.ExistDrawNewIconSkin()) { GameDataManager.Inst.PlayData.IsNewReleasedSkin = false; newIcon[num].gameObject.SetActive(false); } break; case (int)NewIcon.Achieve: GameDataManager.Inst.PlayData.IsNewReleasedAchieve = false; newIcon[(int)NewIcon.Menu].gameObject.SetActive(false); break; } // 処理が終わったらデータをセーブ JsonDataSaver.Save(GameDataManager.Inst.PlayData); }
/// <summary> /// 動画終了待ち処理 /// </summary> public void WaitTermination() { // 勧誘、終了していなかったら処理を抜ける if (!IsRecommend || !adMobVideo.IsClosed) { return; } // 動画広告をスキップしたらスキップフラグを立てる if (adMobVideo.IsSkipped)// || unityAdsVideo.IsSkipped) { // リワード無し GameDataManager.Inst.PlayData.IsReward = false; } // 動画広告を閉じたら処理終了 if (adMobVideo.IsCompleted)// || unityAdsVideo.IsFinished) { // リワードあり GameDataManager.Inst.PlayData.IsReward = true; isEnd = true; } // リワードフラグをセーブして次の広告を生成 JsonDataSaver.Save(GameDataManager.Inst.PlayData); }
/// <summary> /// 各実績を解除 /// </summary> public static void ReleaseAchievement() { // プレイデータのインスタンスを取得 PlayData playData = GameDataManager.Inst.PlayData; // 各実績の解除条件を設定 releaseCondisions[0] = !playData.IsReleasedAchieve[0] && playData.PlayCount > 0; releaseCondisions[1] = !playData.IsReleasedAchieve[1] && playData.TotalRescueCount > 500; releaseCondisions[2] = !playData.IsReleasedAchieve[2] && playData.TotalScore > 5000; releaseCondisions[3] = !playData.IsReleasedAchieve[3] && playData.RabbitComplete(); for (int i = 0; i < PlayData.AllAchievementNum; i++) { // 解除条件を満たしていれば解除する if (releaseCondisions[i]) { GameServiceUtil.ReportProgress(i); // 実績解除状況を更新 playData.IsReleasedAchieve[i] = true; } } // セーブ JsonDataSaver.Save(GameDataManager.Inst.PlayData); }
/// <summary> /// データの終了処理 /// </summary> public void FinalizeData() { // リストに登録されているウサギをもとにフラグを切り替える SwitchPictureBookFlag(); // フラグをもとにJsonにセーブする JsonDataSaver.Save(GameDataManager.Inst.PlayData); // リストに登録されている救出されたウサギのデータを全削除する AllRemoveNumbersList(); }
/// <summary> /// シーンチェンジ /// </summary> /// NOTE:メインゲームシーン時のみかんキャッチ後に呼ぶアニメーションイベント用関数です。 public void ChangeScene() { // シーン切り替え sceneChanger.ChangeScene(); // プレイ回数をセーブ GameDataManager.Inst.PlayData.PlayCount++; JsonDataSaver.Save(GameDataManager.Inst.PlayData); }
/// <summary> /// 設定データセーブ /// </summary> public void SaveSettingData() { // 各種設定をデータ管理クラスに反映 GameDataManager.Inst.SettingData.BgmVolume = BgmVolume.value; // BGMボリューム GameDataManager.Inst.SettingData.SeVolume = SeVolume.value; // SEボリューム GameDataManager.Inst.SettingData.IsBgmMute = BgmMute.isOn; // BGMミュート GameDataManager.Inst.SettingData.IsSeMute = SeMute.isOn; // SEミュート GameDataManager.Inst.SettingData.UseLanguage = (SettingData.LanguageType)LanguageSelect.value; // 使用言語 // 設定データをJSON形式でセーブ JsonDataSaver.Save(GameDataManager.Inst.SettingData); }
/// <summary> /// クリアしたステージ数をセーブする /// </summary> /// <param name="clearStageNum">クリアしたステージ数</param> public void SaveClearStageNum(int clearStageNum) { // クリアしたステージ数がセーブされているステージ数より大きければ上書き保存する if (saveData.clearStageNum < clearStageNum) { // クリアしたステージ数を上書き saveData.clearStageNum = clearStageNum; // 保存 JsonDataSaver.Save <SaveData>(saveData); // クリアしたステージ数が変更されたイベントを呼ぶ EventManager.Inst.InvokeEvent(SubjectType.OnChangeClearStageNum); } }
SaveData saveData; //セーブデータ /// <summary> /// スクリプトのインスタンスがロードされたときに呼び出される /// </summary> void Awake() { saveData = new SaveData(); // セーブデータのファイルが存在しているなら if (JsonDataSaver.FileExists <SaveData>(saveData)) { // セーブデータのファイルが存在しているならそのファイルをロードする saveData = JsonDataSaver.Load <SaveData>(saveData); } // セーブデータのファイルが存在しないなら else { // 初期化したセーブデータを保存してファイルを作成しておく JsonDataSaver.Save <SaveData>(saveData); } }
/// <summary> /// スコアセーブ /// </summary> public void Save() { // プレイデータのインスタンスを取得 PlayData playData = GameDataManager.Inst.PlayData; // 前回のスコアとハイスコアを更新 UpdateHighScore(playData); // 合計スコアを加算 UpdateTotalScore(playData); // スキン解放 ReleaseSkin(playData); // データセーブ JsonDataSaver.Save(GameDataManager.Inst.PlayData); }
/// <summary> /// ダイヤモンドの獲得データをセーブする /// </summary> /// <param name="stageNum">セーブするステージ数</param> /// <param name="diamondAcquisitionData">セーブするダイヤモンドの獲得データ</param> public void SaveDiamondAcquisitionData(int stageNum, DiamondAcquisitionData diamondAcquisitionData) { // 既にセーブされてるステージのリストがこれからセーブするステージ数分ないなら // 今のステージ数に達するまで追加する while (saveData.stageSaveData.diamondAcquisitionDataList.Count < stageNum) { saveData.stageSaveData.diamondAcquisitionDataList.Add(new DiamondAcquisitionData()); } // 新しいリストの作成 DiamondAcquisitionData newDiamondAcquisitionData = new DiamondAcquisitionData(); // 新しいリストにダイヤを取ったかどうかのリストをまとめて追加 newDiamondAcquisitionData.isDiamondAcquisitionList = new List <bool>(diamondAcquisitionData.isDiamondAcquisitionList); // 新しく作ったリストで上書きする saveData.stageSaveData.diamondAcquisitionDataList[stageNum - 1] = newDiamondAcquisitionData; JsonDataSaver.Save <SaveData>(saveData); }
/// <summary> /// 音を鳴らすかどうかをセーブする /// </summary> /// <param name="isPlaySound">音を鳴らすかどうか</param> public void SaveIsPlaySound(bool isPlaySound) { saveData.isPlaySound = isPlaySound; JsonDataSaver.Save <SaveData>(saveData); }
/// <summary> /// プレイヤーのマテリアルデータをセーブする /// </summary> /// <param name="id">上書きするマテリアルID</param> public void SavePlayerSkinID(SkinId id) { saveData.playerSkinId = id; JsonDataSaver.Save <SaveData>(saveData); }