Exemple #1
0
 public static void DoRegion(Rect rect, SoundDef sound)
 {
     if (sound != null)
     {
         if (Event.current.type == EventType.Repaint)
         {
             MouseoverSounds.MouseoverRegionCall item = default(MouseoverSounds.MouseoverRegionCall);
             item.rect        = rect;
             item.sound       = sound;
             item.mouseIsOver = Mouse.IsOver(rect);
             MouseoverSounds.frameCalls.Add(item);
         }
     }
 }
 public static void ResolveFrame()
 {
     for (int i = 0; i < MouseoverSounds.frameCalls.Count; i++)
     {
         if (MouseoverSounds.frameCalls[i].mouseIsOver)
         {
             if (MouseoverSounds.lastUsedCallInd != i && !MouseoverSounds.frameCalls[i].Matches(MouseoverSounds.lastUsedCall) && MouseoverSounds.forceSilenceUntilFrame < Time.frameCount)
             {
                 MouseoverSounds.frameCalls[i].sound.PlayOneShotOnCamera(null);
             }
             MouseoverSounds.lastUsedCallInd = i;
             MouseoverSounds.lastUsedCall    = MouseoverSounds.frameCalls[i];
             MouseoverSounds.frameCalls.Clear();
             return;
         }
     }
     MouseoverSounds.lastUsedCall    = MouseoverSounds.MouseoverRegionCall.Invalid;
     MouseoverSounds.lastUsedCallInd = -1;
     MouseoverSounds.frameCalls.Clear();
 }
 public bool Matches(MouseoverSounds.MouseoverRegionCall other)
 {
     return(this.rect.Equals(other.rect));
 }