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;
        }
    }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
 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();
    }