/// <summary> /// 目盛設定 /// </summary> /// <param name="type">目盛種別</param> /// <param name="value">表示値</param> /// <param name="cbFunc">矢印接触時のコールバック</param> public void SetUnit(scaleType type, string value, OnEnterCenterMark cbFunc = null) { // コールバック登録 callback = cbFunc; // 一旦全消しして必要な分だけ表示指定 ImageScaleBold.SetActive(false); ImageScaleMiddle.SetActive(false); ImageScaleNormal.SetActive(false); switch (type) { case scaleType.Bold: { ImageScaleBold.SetActive(true); break; } case scaleType.Middle: { ImageScaleMiddle.SetActive(true); break; } case scaleType.Normal: { ImageScaleNormal.SetActive(true); break; } } // 表示値を設定 Value.text = value; }
/// <summary> /// Initializes a scale by key and type, adds the id to name. /// </summary> /// <param name="inKey">Desired Key.</param> /// <param name="type">Desired Scale Type.</param> /// <param name="id">Identifier.</param> public Scale(note inKey, scaleType type, int id) { Key = inKey; ModalKey = inKey; currentMode = modes.ionian; Name = inKey.ToString() + " " + type.ToString() + " _" + id.ToString(); AssignUpperAndLower(ScaleBook.allScales [type]); upperTetraOffset = upperTetra.Offset; Intervals = CombineTetrachords(lowerTetra, upperTetra, upperTetraOffset); Notes = GenerateNotes(Key, Intervals); scaleSize = Intervals.Length; }
public void AddScale(note key, scaleType type) { if (managedScales == null) { scaleID = 0; managedScales = new List <Scale>(); managedScales.Add(new Scale(key, type, scaleID)); } else { scaleID++; managedScales.Add(new Scale(key, type, scaleID)); } foreach (Note n in managedScales[managedScales.Count - 1].Notes) { n.FrequencyKey += BaseNoteOffset; } }