//----------------------------------------------------------------- //! @summary 連結ノーツの生成処理(引数あり) //! //! @parameter [noteData] 連結させるノーツデータ //! //! @return なし //----------------------------------------------------------------- public void CreateConnectNote(PiarhythmDatas.NoteData noteData) { // 連結ノーツを生成する GameObject connectNote = Instantiate(m_connectNotePrefab); // コンポーネントの取得 ConnectNoteController connectNoteController = connectNote.GetComponent <ConnectNoteController>(); // NoteManagerを設定する connectNoteController.SetNoteManager(this); // キャンバスの設定 connectNoteController.SetCanvas(m_canvas); // キーボード情報 connectNoteController.SetKeyDictionary(m_keyDictionary); // OptionSheetControllerを設定する connectNoteController.SetOptionSheetController(m_optionSheetController); // MusicalScoreの子に設定する connectNote.GetComponent <RectTransform>().SetParent(m_musicalScore.GetComponent <RectTransform>()); // 連結に使用したノーツデータを登録する PiarhythmDatas.NoteData nextNoteData = noteData; while (nextNoteData != null) { connectNoteController.AddNoteData(nextNoteData); nextNoteData = nextNoteData.m_nextNoteData; } // 初期化処理 connectNoteController.Initialize(); // リストに登録する m_notesList.Add(connectNote); }
//----------------------------------------------------------------- //! @summary 連結ノーツの生成処理 //! //! @parameter [void] なし //! //! @return なし //----------------------------------------------------------------- public void CreateConnectNote() { // 連結可能か調べる if (!CheckConnectNote()) { return; } // 連結ノーツを生成する GameObject connectNote = Instantiate(m_connectNotePrefab); // コンポーネントの取得 ConnectNoteController connectNoteController = connectNote.GetComponent <ConnectNoteController>(); // NoteManagerを設定する connectNoteController.SetNoteManager(this); // キャンバスの設定 connectNoteController.SetCanvas(m_canvas); // キーボード情報 connectNoteController.SetKeyDictionary(m_keyDictionary); // ConnectNoteSheetControllerを設定する connectNoteController.SetConnectNoteSheetController(m_connectNoteSheetController); // OptionSheetControllerを設定する connectNoteController.SetOptionSheetController(m_optionSheetController); // MusicalScoreの子に設定する connectNote.GetComponent <RectTransform>().SetParent(m_musicalScore.GetComponent <RectTransform>()); // 連結に使用したノーツデータを登録する for (int i = 0; i < m_selectNotes.Count; ++i) { // データを取得する PiarhythmDatas.NoteData notesData = m_selectNotes[i].GetComponent <EditNotesController>().GetNotesData(); // ノーツデータの連結先を更新する if (i + 1 < m_selectNotes.Count) { notesData.m_nextNoteData = m_selectNotes[i + 1].GetComponent <EditNotesController>().GetNotesData(); } // 登録する connectNoteController.AddNoteData(notesData); // リストから削除する m_notesList.Remove(m_selectNotes[i]); // ノーツを削除する Destroy(m_selectNotes[i]); } // リストをクリアする m_selectNotes.Clear(); // 初期化処理 connectNoteController.Initialize(); // リストに登録する m_notesList.Add(connectNote); // 生成されたノーツを選択中にする SetSelectNotes(connectNote); }