// Methods public void CreatePuzzle(Puzzle puzzle) { m_Puzzle = puzzle; puzzle.addNode += AddNode; puzzle.removeNode += RemoveNode; puzzle.addEdge += AddEdge; puzzle.removeEdge += RemoveEdge; puzzle.addElement += AddElement; puzzle.removeElement += RemoveElement; puzzle.addItem += AddItem; puzzle.removeItem += RemoveItem; puzzle.addReceiver += AddReceiver; puzzle.removeReceiver += RemoveReceiver; if (s_TempDragEdge) { Destroy(s_TempDragEdge.gameObject); } s_TempDragEdge = Instantiate(edgePrefab) as EdgeFront; s_TempDragEdge.Set(this, null); s_TempDragEdge.gameObject.SetActive(false); s_TempDragEdge.transform.parent = transform; if (s_TempDragNode) { Destroy(s_TempDragNode.gameObject); } s_TempDragNode = Instantiate(nodePrefab) as NodeFront; s_TempDragNode.Set(this, null); s_TempDragNode.gameObject.SetActive(false); s_TempDragNode.transform.parent = transform; s_TempDragReceiver = new PuzzleGate(); }
public void AddEdge(PuzzleEdge edge) { EdgeFront edgeFront = Instantiate(edgePrefab) as EdgeFront; edgeFront.transform.parent = transform; edgeFront.gameObject.name = "Edge " + edge.nodeA.name + " - " + edge.nodeB.name; edgeFront.Set(this, edge); edges.Add(edgeFront); }