void Start() { if (player == null) { player = GameState.instance.playerShipInstance.GetComponent <BeatPlayer>(); } cursor.player = player; int stepCount = player.loop.stepCount; BeatConfig[] beats = BeatService.instance.beats; gridLayout.constraintCount = stepCount; toggles = new ValueToggle[beats.Length * stepCount]; for (int i = 0; i < beats.Length * stepCount; i++) { ValueToggle toggle = Instantiate(buttonPrefab, gridLayout.transform); toggles[i] = toggle; toggle.index = i; toggle.ForceChecked(player.loop.GetBeatValue(toggle.index % player.loop.stepCount, toggle.index / player.loop.stepCount)); toggle.valueChanged += OnValueChanged; } for (int i = 0; i < beats.Length; i++) { Instantiate(instrumentTitlePrefab, instrumentTitlePanel).text = beats[i].name; } }
private void OnValueChanged(ValueToggle toggle) { if (toggle.isChecked && checkedCount >= maxBeats) { toggle.ForceChecked(false); } else { player.loop.SetBeatValue(toggle.index % player.loop.stepCount, toggle.index / player.loop.stepCount, toggle.isChecked); } for (int i = 0; i < buttons.Length; i++) { buttons[i].isDisabled = checkedCount >= maxBeats; } knobText.text = "" + (maxBeats - checkedCount); }
void Start() { if (player == null) { player = GameState.instance.playerShipInstance.GetComponent <BeatPlayer>(); } titleText.text = BeatService.instance.beats[beatConfigIndex].name; knobText.text = "5"; BeatService.instance.onBeat += OnBeat; for (int i = 0; i < buttons.Length; i++) { buttons[i].SetColor(BeatService.instance.beats[beatConfigIndex].color); ValueToggle toggle = buttons[i].GetComponent <ValueToggle>(); toggle.index = i + beatConfigIndex * buttons.Length; toggle.ForceChecked(player.loop.GetBeatValue(toggle.index % player.loop.stepCount, toggle.index / player.loop.stepCount)); toggle.valueChanged += OnValueChanged; if (checkedCount >= maxBeats) { buttons[i].isDisabled = true; } } knobText.text = "" + (maxBeats - checkedCount); }
private void OnValueChanged(ValueToggle toggle) { player.loop.SetBeatValue(toggle.index % player.loop.stepCount, toggle.index / player.loop.stepCount, toggle.isChecked); }
public override void OnInspectorGUI() { ValueToggle myTarget = (ValueToggle)target; DrawDefaultInspector(); }