Ejemplo n.º 1
0
    //-----------------------------------------------------------------
    //! @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);
    }
Ejemplo n.º 2
0
    //-----------------------------------------------------------------
    //! @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);
    }