//----------------------------------------------------------------- //! @summary 設定データを保存する //! //! @parameter [settingData] 保存する設定データ //! //! @return なし //----------------------------------------------------------------- public void SaveSettingData(PiarhythmDatas.SettingData settingData) { // json文字列に変換する string jsonString = JsonConvert.SerializeObject(settingData); // ファイルに書き込んで保存する PiarhythmUtility.WriteFileText(PiarhythmDatas.SETTING_DATA_FILE_PATH, jsonString, false); }
//----------------------------------------------------------------- //! @summary 初期化処理 //! //! @parameter [void] なし //! //! @return なし //----------------------------------------------------------------- private void Start() { // 設定データを読み込む string jsonString = null; PiarhythmUtility.ReadFileText(PiarhythmDatas.SETTING_DATA_FILE_PATH, ref jsonString); // オブジェクトに変換する PiarhythmDatas.SettingData settingData = JsonConvert.DeserializeObject <PiarhythmDatas.SettingData>(jsonString); // 設定シートの値を渡す m_settingSheetController.SetSettingData(settingData); // UIに反映させる m_settingSheetController.DispleySettingData(); // 楽曲データのファイルパスを取得する m_musicPathDictionary = new Dictionary <string, string>(); string[] musicPieceArray = Directory.GetFiles(PiarhythmDatas.MUSIC_PIECE_DIRECTORY_PATH, "*.json", SearchOption.AllDirectories); foreach (string musicPath in musicPieceArray) { // ファイル名を取得する string fileName = Path.GetFileNameWithoutExtension(musicPath); // 登録する m_musicPathDictionary[fileName] = musicPath; // タイルを作成する m_scrollController.CreateSoundTile(fileName); } // 前回選択された曲を設定する string filePath = PlayerPrefs.GetString(PiarhythmDatas.PLAY_MUSIC_PIECE_FILE_PATH, "None"); m_musicSheetController.DisplaySelectMusicName(m_selectMusic = Path.GetFileNameWithoutExtension(filePath)); }
//----------------------------------------------------------------- //! @summary 設定データを設定する //! //! @parameter [settingData] 設定する設定データ //----------------------------------------------------------------- public void SetSettingData(PiarhythmDatas.SettingData settingData) { m_settingData = settingData; }
//----------------------------------------------------------------- //! @summary 初期化処理 //! //! @parameter [void] なし //! //! @return なし //----------------------------------------------------------------- void Start() { // 設定データを読み込む string jsonString = null; PiarhythmUtility.ReadFileText(PiarhythmDatas.SETTING_DATA_FILE_PATH, ref jsonString); // インスタンスを作成する m_settingData = JsonConvert.DeserializeObject <PiarhythmDatas.SettingData>(jsonString); // 設定データを設定する m_musicController.SetSettingData(m_settingData); // プレイする楽曲データのファイルパスを取得する string filePath = PlayerPrefs.GetString(PiarhythmDatas.PLAY_MUSIC_PIECE_FILE_PATH, null); if (filePath == "") { filePath = PiarhythmDatas.MUSIC_PIECE_DIRECTORY_PATH + "YUBIKIRI-GENMAN -special edit-.json"; } // 楽曲データを読み込む PiarhythmUtility.ReadFileText(filePath, ref jsonString); // インスタンスを作成する m_musicPieceData = JsonConvert.DeserializeObject <PiarhythmDatas.MusicPieceData>(jsonString); // 背景を作成する if (m_musicPieceData.m_optionData.m_tempDatas.Length != 0) { for (int i = 1; i < m_musicPieceData.m_optionData.m_tempDatas.Length; ++i) { m_musicPieceData.m_optionData.m_tempDatas[i].m_startMeasure += 2; } } m_musicPieceData.m_optionData.m_wholeMeasure += 5; m_musicController.CreateMusicScoreBackGround(m_musicPieceData.m_optionData); // 楽曲全体の時間を取得する m_wholeTime = m_musicController.GetWholeTime(); // ノーツを生成する for (int i = 0; i < m_musicPieceData.m_noteDataList.Length; ++i) { m_musicPieceData.m_noteDataList[i].m_startBeat += 8; } m_musicController.CreateNoteList(m_musicPieceData.m_noteDataList); // BGMを読み込む if (m_musicPieceData.m_bgmData != null) { if (m_musicPieceData.m_bgmData.m_path != null) { // 読み込み開始フラグをたてる m_loadFlag = true; // コルーチンを設定する m_coroutine = PiarhythmUtility.LoadAudioFile(m_musicPieceData.m_bgmData.m_path); } else { // アニメーションを開始する m_keyboardController.PlayAnimation(); } } else { // アニメーションを開始する m_keyboardController.PlayAnimation(); } // BGMの開始時間を計算する // 一拍当たりの時間を求める float beatPerTempo = 60.0f / m_musicPieceData.m_optionData.m_tempDatas[0].m_tempo; m_bgmStartTime = beatPerTempo * 8.0f; }