public static void TipRegion(Rect rect, TipSignal tip) { if (Event.current.type != EventType.Repaint) { return; } if (tip.textGetter == null && tip.text.NullOrEmpty()) { return; } if (!Mouse.IsOver(rect)) { return; } if (DebugViewSettings.drawTooltipEdges) { Widgets.DrawBox(rect, 1); } if (!TooltipHandler.activeTips.ContainsKey(tip.uniqueId)) { ActiveTip value = new ActiveTip(tip); TooltipHandler.activeTips.Add(tip.uniqueId, value); TooltipHandler.activeTips[tip.uniqueId].firstTriggerTime = (double)Time.realtimeSinceStartup; } TooltipHandler.activeTips[tip.uniqueId].lastTriggerFrame = TooltipHandler.frame; TooltipHandler.activeTips[tip.uniqueId].signal.text = tip.text; TooltipHandler.activeTips[tip.uniqueId].signal.textGetter = tip.textGetter; }
private static int CompareTooltipsByPriority(ActiveTip A, ActiveTip B) { if (A.signal.priority == B.signal.priority) { return(0); } if (A.signal.priority == TooltipPriority.Pawn) { return(-1); } if (B.signal.priority == TooltipPriority.Pawn) { return(1); } return(0); }
public static void TipRegion(Rect rect, TipSignal tip) { if (Event.current.type == EventType.Repaint && (tip.textGetter != null || !tip.text.NullOrEmpty()) && (Mouse.IsOver(rect) || DebugViewSettings.drawTooltipEdges)) { if (DebugViewSettings.drawTooltipEdges) { Widgets.DrawBox(rect); } if (!activeTips.ContainsKey(tip.uniqueId)) { ActiveTip value = new ActiveTip(tip); activeTips.Add(tip.uniqueId, value); activeTips[tip.uniqueId].firstTriggerTime = Time.realtimeSinceStartup; } activeTips[tip.uniqueId].lastTriggerFrame = frame; activeTips[tip.uniqueId].signal.text = tip.text; activeTips[tip.uniqueId].signal.textGetter = tip.textGetter; } }
private static int CompareTooltipsByPriority(ActiveTip A, ActiveTip B) { int result; if (A.signal.priority == B.signal.priority) { result = 0; } else if (A.signal.priority == TooltipPriority.Pawn) { result = -1; } else if (B.signal.priority == TooltipPriority.Pawn) { result = 1; } else { result = 0; } return(result); }
public ActiveTip(ActiveTip cloneSource) { this.signal = cloneSource.signal; this.firstTriggerTime = cloneSource.firstTriggerTime; this.lastTriggerFrame = cloneSource.lastTriggerFrame; }