void Awake() { moduleId = moduleIdCounter++; foreach (Frets fret in frets) { Frets trueFret = fret; fret.fretSelectables.OnInteract += delegate() { fretSelect(trueFret); return(false); }; } playBut.OnInteract += delegate() { OnPlayBut(); return(false); }; }
public GuitarChordConfig(int[] frets, int[] channels, bool isSlide, bool isSlideReverse, bool isHammeron, ChordStrum strumMode, GuitarChordRootNoteConfig rootNoteConfig) : this() { this.RootNoteConfig = rootNoteConfig; if (frets != null) { Frets = frets.ToArray(); } if (channels != null) { Channels = channels.ToArray(); if (Frets != null) { for (int x = 0; x < Frets.Count(); x++) { if (Frets[x].IsNotNull() && Channels[x].IsNull()) { Channels[x] = Utility.ChannelDefault; } else if (Frets[x].IsNull() && Channels[x].IsNotNull()) { Channels[x] = Int32.MinValue; } } } if (Channels.Any(x => x == Utility.ChannelX)) { for (int x = 0; x < Channels.Count(); x++) { if (Channels[x].IsNotNull()) { Channels[x] = Utility.ChannelX; } } } } IsSlide = isSlide | isSlideReverse; IsSlideReverse = isSlideReverse; IsHammeron = isHammeron; StrumMode = strumMode; }
void fretSelect(Frets fret) { fret.fretSelectables.AddInteractionPunch(.25f); if (fret.fretObjects.sharedMaterial == unselected) { fret.fretObjects.sharedMaterial = selected; fret.fretStatus = true; stringIndex = UnityEngine.Random.Range(0, 12); Audio.PlaySoundAtTransform(strings[stringIndex].name, transform); } else if (fret.fretObjects.sharedMaterial == selected) { fret.fretObjects.sharedMaterial = unselected; fret.fretStatus = false; } }