// void Awake() { Debug.Log("Awake"); Debug.Log(SceneManager.GetActiveScene().name); Object.DontDestroyOnLoad(this); saveDataJSON01 = new Dictionary <string, object>(); saveDataJSON02 = new Dictionary <string, object>(); saveDataJSON03 = new Dictionary <string, object>(); if (_debugDataReset) { PlayerPrefs.DeleteAll(); } this.initSaveData(0); this.initSaveData(1); this.initSaveData(2); //初期値 //各シーンからこの値を参照し、適正な値が入っている場合は正規の手順を踏む //もしそれ以外だった場合、デバッグモードで起動する //参照は getNowSceneを使用する nowSceneValue = new sceneChangeValue(); //Titleだった場合はデータ選択時にこの処理をしているので不要 if (Application.loadedLevelName != "title") { //for debug selectedUserSaveDat = saveDataJSON01; selectedSaveDataNumber = 0; nowSceneValue.convertSelectedUserSaveData(); } }
//**// public void changeScene(sceneChangeStatusEnum argsS) { //他の場所から呼ばれる sceneChangeValue tmpSCV = new sceneChangeValue(); tmpSCV.convertSelectedUserSaveData(); //時間は戻す Time.timeScale = 1f; switch (argsS) { case sceneChangeStatusEnum.dataLoading: // argsVal は必要ない //セーブデータから確認する //chapter進捗を確認しどこに移動するか決める object tmpPgrs = selectedUserSaveDat[storyProgress_Key]; switch (int.Parse(tmpPgrs.ToString())) { case 0: //now Game //Application.LoadLevel("talkScene"); SceneManager.LoadScene("talkScene"); break; default: //基本ここ //ステージセレクトへ移動 //Application.LoadLevel("stageSelect"); SceneManager.LoadScene("stageSelect"); break; } break; case sceneChangeStatusEnum.gotoTitle: // argsVal は必要ない //Application.LoadLevel("title"); SceneManager.LoadScene("title"); break; case sceneChangeStatusEnum.gotoTalkScene: //下記の関数がスタートする //talkScene - talkingMain - mainText - talkingMainScript - Start() //Application.LoadLevel("talkScene"); SceneManager.LoadScene("talkScene"); break; case sceneChangeStatusEnum.gotoStageSelect: //Debug.Log ("stageSelect"); //Application.LoadLevel("stageSelect"); SceneManager.LoadScene("stageSelect"); break; case sceneChangeStatusEnum.gotoSortieSelect: //Debug.Log ("gotoSortieSelect"); //Application.LoadLevel("selectSortieCharactersScene"); SceneManager.LoadScene("selectSortieCharactersScene"); break; case sceneChangeStatusEnum.gotoBattle: //Debug.Log ("goto Battle : " + tmpSCV.sceneFileName); //Application.LoadLevel(tmpSCV.sceneFileName); SceneManager.LoadScene(tmpSCV.sceneFileName); break; } }
public void addStoryProgresses(enum_StoryProgressType argsStr, bool resetF) { //下位の進行度は、自動的にリセットされる switch (argsStr) { case enum_StoryProgressType.Route: // StoryRoute long tmpRoute = (long)selectedUserSaveDat["StoryRoute"]; if (resetF) { selectedUserSaveDat["StoryRoute"] = 0; } else { selectedUserSaveDat["StoryRoute"] = tmpRoute + 1; } break; case enum_StoryProgressType.Progress: //storyProgress_Key int tmpProgress = int.Parse(selectedUserSaveDat[storyProgress_Key].ToString()); if (resetF) { selectedUserSaveDat[storyProgress_Key] = 0; } else { selectedUserSaveDat[storyProgress_Key] = tmpProgress + 1; this.addStoryProgresses(enum_StoryProgressType.Stage, true); this.addStoryProgresses(enum_StoryProgressType.Step, true); } break; case enum_StoryProgressType.Stage: //storyStage_Key int tmpStage = int.Parse(selectedUserSaveDat[storyStage_Key].ToString()); if (resetF) { selectedUserSaveDat[storyStage_Key] = 0; } else { selectedUserSaveDat[storyStage_Key] = tmpStage + 1; this.addStoryProgresses(enum_StoryProgressType.Step, true); } break; case enum_StoryProgressType.Step: // StoryStep int tmpStep = int.Parse(selectedUserSaveDat["StoryStep"].ToString()); if (resetF) { selectedUserSaveDat["StoryStep"] = 0; } else { selectedUserSaveDat["StoryStep"] = tmpStep + 1; } break; } nowSceneValue.convertSelectedUserSaveData(); Debug.Log("進捗増加 : " + nowSceneValue.sceneFileName); }