Esempio n. 1
0
 public void RemoveReceiver(PuzzleReceiverElement receiver)
 {
     if (m_Lines.ContainsKey(receiver))
     {
         Destroy(m_Lines[receiver].gameObject);
         m_Lines.Remove(receiver);
     }
 }
Esempio n. 2
0
 public void RemoveReceiver(PuzzleNode node, PuzzleReceiverElement receiver)
 {
     if (removeReceiver != null)
     {
         removeReceiver(node, receiver);
     }
     node.RemoveReceiver(receiver);
 }
Esempio n. 3
0
 public void AddReceiver(PuzzleNode node, PuzzleReceiverElement receiver)
 {
     node.AddReceiver(receiver);
     if (addReceiver != null)
     {
         addReceiver(node, receiver);
     }
 }
Esempio n. 4
0
    public void RemoveElement(PuzzleElement element)
    {
        // Remove receivers from this node.
        PuzzleNode node = GetElementContainer(element) as PuzzleNode;

        if (node != null)
        {
            for (int i = node.receiverElements.Count - 1; i >= 0; i--)
            {
                RemoveReceiver(node, node.receiverElements[i]);
            }
        }

        // Do callback first so it can perform proper lookup in puzzle
        removeElement(element);

        // Remove element from edges and nodes
        for (int i = 0; i < edges.Count; i++)
        {
            if (edges[i].element == element)
            {
                edges[i].element = null;
            }
        }
        for (int i = 0; i < nodes.Count; i++)
        {
            if (nodes[i].element == element)
            {
                nodes[i].element = null;
            }
        }
        PuzzleReceiverElement receiverElement = element as PuzzleReceiverElement;

        if (receiverElement != null)
        {
            for (int i = 0; i < nodes.Count; i++)
            {
                if (nodes[i].receiverElements.Contains(receiverElement))
                {
                    RemoveReceiver(nodes[i], receiverElement);
                }
            }
        }

        // Remove element
        if (element.dynamic)
        {
            dynamicElements.Remove(element);
        }
        else
        {
            staticElements.Remove(element);
        }
    }
Esempio n. 5
0
    public void UpdateReceiver(PuzzleReceiverElement receiver)
    {
        PuzzleContainer c = puzzle.puzzle.GetElementContainer(receiver);
        ContainerFront  containerFront = puzzle.GetContainer(c);

        if (containerFront == null)
        {
            return;
        }
        Vector3      end  = containerFront.GetElementPosition();
        LineRenderer line = m_Lines[receiver];

        UpdateReceiver(line, end, false);
    }
Esempio n. 6
0
    public void AddReceiver(PuzzleReceiverElement receiver)
    {
        GameObject go = new GameObject();

        go.transform.parent = transform;
        LineRenderer line = go.AddComponent <LineRenderer> ();

        line.material     = receiverMaterial;
        line.sortingOrder = 5;
        line.SetWidth(0.25f, 0.25f);

        m_Lines[receiver] = line;
        UpdateReceiver(receiver);
    }
Esempio n. 7
0
 public void RemoveReceiver(PuzzleNode node, PuzzleReceiverElement receiver)
 {
     GetNode(node).RemoveReceiver(receiver);
 }
Esempio n. 8
0
    public void UpdateReceiver(PuzzleReceiverElement receiver, Vector3 end, bool preciseEnd)
    {
        LineRenderer line = m_Lines[receiver];

        UpdateReceiver(line, end, preciseEnd);
    }
Esempio n. 9
0
 public void RemoveReceiver(PuzzleReceiverElement receiver)
 {
     receiverElements.Remove(receiver);
 }
Esempio n. 10
0
 public void AddReceiver(PuzzleReceiverElement receiver)
 {
     receiverElements.Add(receiver);
 }