public override bool Tap(Vector3 position)
    {
        float      playerScale = GameObject.Find("Managers").GetComponent <SettingsManager>().playerScale;
        float      selectDist  = defaultSelectDistance * playerScale * 0.50f;
        DCGElement elem        = selectElement(position, selectDist);

        return(elem == null ? false : TapDCG(elem));
    }
Exemplo n.º 2
0
 public List <Point> Select(DCGElement elem)
 {
     elem.isSelected = true;
     elem.Lock();
     if (ItemBase.sItems.Count > 0)
     {
         Item.Pop();
     }
     return(elem.GetPoints());
 }
Exemplo n.º 3
0
    public void DeselectChildren(DCGElement e)
    {
        List <DCGElement> elems = e.GetChildren();

        foreach (DCGElement elem in elems)
        {
            if (elem.isSelected)
            {
                Deselect(elem);
                DCGBase.sElements.Remove(elem);
            }
        }
    }
Exemplo n.º 4
0
    public override bool Tap(Vector3 position)
    {
        float playerScale = GameObject.Find("Managers").GetComponent <SettingsManager>().playerScale;

        selectDistance = defaultSelectDistance * playerScale * 0.50f;
        DCGElement nearestElement = DCGBase.NearestElement(position, selectDistance);
        Item       item           = ItemBase.itemBase.findNearestItem(position);

        return((item == null && nearestElement == null) ? false :
               (item == null ? TapDCG(nearestElement) :
                (nearestElement == null ? TapItem(item) :
                 (item.Distance(position) > nearestElement.Distance(position) ? TapDCG(nearestElement) : TapItem(item)))));
    }
Exemplo n.º 5
0
 public override bool TapDCG(DCGElement nearestElement)
 {
     if (nearestElement != null && !nearestElement.isLocked)
     {
         List <Point> newSel = Select(nearestElement);
         DCGBase.sElements.Remove(nearestElement);
         DCGBase.sElements.Add(nearestElement);
         foreach (Point p in newSel)
         {
             DCGBase.sPoints.Remove(p); //If the point exists in the point list, remove the copy before adding it in
             DCGBase.sPoints.Add(p);
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 6
0
 public virtual bool TapDCG(DCGElement nearestElement)
 {
     if (nearestElement == null)
     {
         return(false);
     }
     if (nearestElement.ParentSelected())
     {
         return(false);
     }
     if (nearestElement != null && !nearestElement.isLocked)
     {
         List <Point> newSel = Select(nearestElement);
         DeselectChildren(nearestElement);
         DCGBase.sElements.Remove(nearestElement);
         DCGBase.sElements.Add(nearestElement);
         foreach (Point p in newSel)
         {
             DCGBase.sPoints.Remove(p); //If the point exists in the point list, remove the copy before adding it in
             DCGBase.sPoints.Add(p);
         }
         if (nearestElement.GetType() != typeof(Solid))
         {
             List <DCGElement> elems = nearestElement.GetParents();
             foreach (DCGElement elem in elems)
             {
                 TapDCG(elem);
             }
         }
         else
         {
             Solid s = (Solid)nearestElement;
             s.addPointsToDCG();
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 7
0
 public void Deselect(DCGElement e)
 {
     e.isSelected = false;
     e.Unlock();
 }