示例#1
0
 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;
        }
示例#3
0
 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;
     }
 }