//---------------------------------------------------------- // アップデート // private void Update() { var level = AudioEffectsManager.GetEffectLevel(type); // ノブレベルUIの表示切替 if (0.0f < level && level <= 1.0f) { if (0.66f < level) { KnobLevel_1.SetActive(true); KnobLevel_2.SetActive(true); KnobLevel_3.SetActive(true); } else if (0.33f < level) { KnobLevel_1.SetActive(true); KnobLevel_2.SetActive(true); KnobLevel_3.SetActive(false); } else { KnobLevel_1.SetActive(true); KnobLevel_2.SetActive(false); KnobLevel_3.SetActive(false); } } else { KnobLevel_1.SetActive(false); KnobLevel_2.SetActive(false); KnobLevel_3.SetActive(false); } }
private void Update() { // 曲リセット if (Input.GetKeyDown("1")) { InstanceReset(); } // エフェクトのタイミングをチェック foreach (var timing in AudioEffectInstanceTiming) { // まだ生成してない場合 if (!timing.isInstance && (Music.Just.Bar < timing.Bar)) { // 2Bar前からインスタンス if (Music.IsJustChangedAt(timing.Bar - instanceBar)) { // 選択中を示すノブのインスタンス timing.knobClone = Instantiate(spotKnob, timing.targetKnob.transform.position, timing.targetKnob.transform.rotation, GameObject.Find("Player Root").transform); timing.knobClone.transform.localEulerAngles = new Vector3(timing.knobClone.transform.localEulerAngles.x, timing.knobClone.transform.localEulerAngles.y, 0.0f); timing.knobClone.GetComponent <SpotKnobLevel>().SetEffectType(timing.type); //スケールリセット Vector3 knobScale = spotKnob.transform.localScale; timing.knobClone.transform.localScale = Vector3.zero; // スケールアニメーション iTween.ScaleTo(timing.knobClone, knobScale, 1.0f); timing.isInstance = true; } } // 1Bar前からジャスト直前までカウント else if ((timing.Bar - countdownStartBar) == Music.Just.Bar && (Music.Just.Beat < 3)) { // TODO: カウントから、アルファフェードに。 // テキスト更新。BarがJutの1つ前になったらカウント開始。 timing.knobClone.GetComponentInChildren <TextMesh>().text = (countdownValue - Music.Just.Beat).ToString(); } // ジャストの処理 else if (Music.IsJustChangedAt(timing.Bar)) { // エフェクトの適用度を取得 var value = AudioEffectsManager.GetEffectLevel(timing.type); // テキスト更新 if (timing.lowerLimit < value && value < timing.upperLimit) { timing.knobClone.GetComponentInChildren <ParticleSystem>().Play(); timing.knobClone.GetComponentInChildren <TextMesh>().color = Color.yellow; timing.knobClone.GetComponentInChildren <TextMesh>().text = "Success!!"; } else { timing.knobClone.GetComponentInChildren <TextMesh>().color = Color.red; timing.knobClone.GetComponentInChildren <TextMesh>().text = "Failed!"; } Destroy(timing.knobClone.gameObject, 2.0f); } } }