//----------------------------------------------------------------- //! @summary テンポの追加ボタンが押された時の処理 //! //! @parameter [void] なし //! //! @return なし //----------------------------------------------------------------- public void OnClickAddTempoButton() { // テンポノードを作成する GameObject tempoNode = Instantiate(m_tempoNodePrefab); // コンテナに登録する RectTransform rectTransform = tempoNode.GetComponent <RectTransform>(); rectTransform.SetParent(m_tempoNodeContent); // 親子関係を組んだことで変化した値を修正する rectTransform.localScale = Vector3.one; rectTransform.localPosition = new Vector3(rectTransform.localPosition.x, rectTransform.localPosition.y, 0.0f); // コントローラーを設定する TempoNodeController tempoNodeController = tempoNode.GetComponent <TempoNodeController>(); tempoNodeController.SetOptionSheetController(this); // データを追加する m_tempoDataList.Add(tempoNodeController.GetTempoData()); // 要素番号を設定する tempoNodeController.SetIndex(m_tempoDataList.Count - 1); // 全体の時間を更新する CalculateWholeTime(); }
//----------------------------------------------------------------- //! @summary 初期化処理(設定データあり) //! //! @parameter [optionData] 設定データ //! //! @return なし //----------------------------------------------------------------- public void Start(PiarhythmDatas.OptionData optionData) { // 全体小節数の設定 m_wholeMeasure = optionData.m_wholeMeasure; // テンポノードをリセットする m_tempoDataList.RemoveRange(1, m_tempoDataList.Count - 1); for (int i = 1; i < m_tempoNodeContent.childCount; ++i) { Destroy(m_tempoNodeContent.GetChild(i).gameObject); } // 最初のテンポノードを設定する m_tempoNodeContent.GetChild(0).GetComponent <TempoNodeController>().SetTempoData(optionData.m_tempDatas[0]); m_tempoDataList[0] = optionData.m_tempDatas[0]; for (int i = 1; i < optionData.m_tempDatas.Length; ++i) { // テンポノードを作成する GameObject tempoNode = Instantiate(m_tempoNodePrefab); // コンテナに登録する RectTransform rectTransform = tempoNode.GetComponent <RectTransform>(); rectTransform.SetParent(m_tempoNodeContent); // 親子関係を組んだことで変化した値を修正する rectTransform.localScale = Vector3.one; rectTransform.localPosition = new Vector3(rectTransform.localPosition.x, rectTransform.localPosition.y, 0.0f); // コントローラーを設定する TempoNodeController tempoNodeController = tempoNode.GetComponent <TempoNodeController>(); tempoNodeController.SetOptionSheetController(this); // テンポデータを設定する tempoNodeController.SetTempoData(optionData.m_tempDatas[i]); // データを追加する m_tempoDataList.Add(tempoNodeController.GetTempoData()); // 要素番号を設定する tempoNodeController.SetIndex(m_tempoDataList.Count - 1); } // 全体時間を計算する CalculateWholeTime(); // UIへ反映させる m_wholeMeasureInputField.text = m_wholeMeasure.ToString(); }
// メンバ関数の定義 ===================================================== #region 初期化処理 //----------------------------------------------------------------- //! @summary 初期化処理 //! //! @parameter [void] なし //! //! @return なし //----------------------------------------------------------------- private void Start() { m_tempoDataList = new List <PiarhythmDatas.TempoData>(); // 最初のテンポデータを登録する GameObject tempoNode = GameObject.FindGameObjectWithTag("TempoNode"); TempoNodeController tempoNodeController = tempoNode.GetComponent <TempoNodeController>(); m_tempoDataList.Add(tempoNodeController.GetTempoData()); tempoNodeController.SetIndex(m_tempoDataList.Count - 1); // 全小節数を取得する m_wholeMeasure = int.Parse(m_wholeMeasureInputField.text); // 全体時間を計算する CalculateWholeTime(); }