public override void OnPointerDown(PointerEventData eventData)
 {
     if (dragger != null)
     {
         return;
     }
     SetDescription();
     crafter.DeleteAllTalents(crafter.view.talentsListView);
     if (tag == "PrimaryHolder")
     {
         crafter.PopulateTalentList(crafter.view.talentsListView, crafter.view.elementInList, true);
         crafter.view.HighlightHolders();
     }
     else if (tag == "SecondaryHolder")
     {
         crafter.PopulateTalentList(crafter.view.talentsListView, crafter.view.elementInList, false);
         crafter.view.HighlightHolders(false);
     }
     if (Talent == null)
     {
         return;                 // double tap segment. Double tap = reset talent;
     }
     clickCount++;
     if (clickCount == 1)
     {
         clickTime = Time.time;
     }
     if (clickCount == 2 && Time.time - clickTime <= clickdelay)
     {
         clickTime      = 0;
         clickCount     = 0;
         picture.sprite = defaultSprite;
         crafter.ResetTalent(Talent);
         Talent = null;
         crafter.isPrescripted = false;
         if (tag == "PrimaryHolder")
         {
             crafter.view.HighlightHolders();
         }
         else if (tag == "SecondaryHolder")
         {
             crafter.view.HighlightHolders(false);
         }
     }
     else if (clickCount > 2 || Time.time - clickTime > clickdelay)
     {
         clickCount = 0;
         clickTime  = 0;
     }
 }