コード例 #1
0
ファイル: MouseoverSounds.cs プロジェクト: potsh/RimWorld
 public static void DoRegion(Rect rect, SoundDef sound)
 {
     if (sound != null && Event.current.type == EventType.Repaint)
     {
         MouseoverRegionCall item = default(MouseoverRegionCall);
         item.rect        = rect;
         item.sound       = sound;
         item.mouseIsOver = Mouse.IsOver(rect);
         frameCalls.Add(item);
     }
 }
コード例 #2
0
 public static void DoRegion(Rect rect, SoundDef sound)
 {
     if (sound != null && Event.current.type == EventType.Repaint)
     {
         Rect rect2 = new Rect(GUIUtility.GUIToScreenPoint(rect.position), rect.size);
         MouseoverRegionCall item = default(MouseoverRegionCall);
         item.rect        = rect2;
         item.sound       = sound;
         item.mouseIsOver = Mouse.IsOver(rect);
         frameCalls.Add(item);
     }
 }
コード例 #3
0
 public static void ResolveFrame()
 {
     for (int i = 0; i < frameCalls.Count; i++)
     {
         if (frameCalls[i].mouseIsOver)
         {
             if (lastUsedCallInd != i && !frameCalls[i].Matches(lastUsedCall) && forceSilenceUntilFrame < Time.frameCount)
             {
                 frameCalls[i].sound.PlayOneShotOnCamera();
             }
             lastUsedCallInd = i;
             lastUsedCall    = frameCalls[i];
             frameCalls.Clear();
             return;
         }
     }
     lastUsedCall    = MouseoverRegionCall.Invalid;
     lastUsedCallInd = -1;
     frameCalls.Clear();
 }
コード例 #4
0
 public static void ResolveFrame()
 {
     for (int i = 0; i < MouseoverSounds.frameCalls.Count; i++)
     {
         MouseoverRegionCall mouseoverRegionCall = MouseoverSounds.frameCalls[i];
         if (mouseoverRegionCall.mouseIsOver)
         {
             if (MouseoverSounds.lastUsedCallInd != i && !MouseoverSounds.frameCalls[i].Matches(MouseoverSounds.lastUsedCall) && MouseoverSounds.forceSilenceUntilFrame < Time.frameCount)
             {
                 MouseoverRegionCall mouseoverRegionCall2 = MouseoverSounds.frameCalls[i];
                 mouseoverRegionCall2.sound.PlayOneShotOnCamera(null);
             }
             MouseoverSounds.lastUsedCallInd = i;
             MouseoverSounds.lastUsedCall    = MouseoverSounds.frameCalls[i];
             MouseoverSounds.frameCalls.Clear();
             return;
         }
     }
     MouseoverSounds.lastUsedCall    = MouseoverRegionCall.Invalid;
     MouseoverSounds.lastUsedCallInd = -1;
     MouseoverSounds.frameCalls.Clear();
 }
コード例 #5
0
ファイル: MouseoverSounds.cs プロジェクト: potsh/RimWorld
 public bool Matches(MouseoverRegionCall other)
 {
     return(rect.Equals(other.rect));
 }