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); } }
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); } }
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(); }
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(); }
public bool Matches(MouseoverRegionCall other) { return(rect.Equals(other.rect)); }