//----------------------------------------------------------------- //! @summary BGMデータを設定する(設定引数あり) //! //! @parameter [BGMData] 設定するBGMData //----------------------------------------------------------------- public void SetBGMData(PiarhythmDatas.BGMData BGMData) { // 設定するデータがない場合、処理を終了する if (BGMData == null) { return; } // 設定する m_BGMData = BGMData; // 読み込み開始フラグをたてる m_loadFlag = true; // コルーチンを設定する m_coroutine = PiarhythmUtility.LoadAudioFile(m_BGMData.m_path); }
//----------------------------------------------------------------- //! @summary 曲選択ボタンが押された時の処理 //! //! @parameter [void] なし //! //! @return なし //----------------------------------------------------------------- public void OnClickSelectButton() { // ダイアログを開いて、ファイルパスを取得する m_filePath = PiarhythmUtility.OpenExistFileDialog( Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "WAVファイル(*.wav) | *.wav"); // ファイルが選択されていなければ処理を終了する if (m_filePath == "") { return; } // 読み込み開始フラグをたてる m_loadFlag = true; // コルーチンを設定する m_coroutine = PiarhythmUtility.LoadAudioFile(m_filePath); }
//----------------------------------------------------------------- //! @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; }