示例#1
0
 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;
 }
示例#2
0
 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);
 }
示例#3
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;
     }
 }
示例#4
0
        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);
        }
示例#5
0
 public ActiveTip(ActiveTip cloneSource)
 {
     this.signal           = cloneSource.signal;
     this.firstTriggerTime = cloneSource.firstTriggerTime;
     this.lastTriggerFrame = cloneSource.lastTriggerFrame;
 }