void CreatePuzzle(bool addInitialElements = false) { Puzzle puzzle = new Puzzle(); if (puzzleFront) { Destroy(puzzleFront.gameObject); } puzzleFront = Instantiate(puzzleFrontPrefab) as PuzzleFront; puzzleFront.CreatePuzzle(puzzle); puzzle.addEdge += e => DirtyPuzzle(); puzzle.removeEdge += e => DirtyPuzzle(); puzzle.addElement += e => DirtyPuzzle(); puzzle.removeElement += e => DirtyPuzzle(); puzzle.addItem += e => DirtyPuzzle(); puzzle.removeItem += e => DirtyPuzzle(); puzzle.addNode += e => DirtyPuzzle(); puzzle.removeNode += e => DirtyPuzzle(); puzzle.addReceiver += (e, f) => DirtyPuzzle(); puzzle.removeReceiver += (e, f) => DirtyPuzzle(); if (addInitialElements) { PuzzleNode node = new PuzzleNode(); PuzzlePlayer player = new PuzzlePlayer(); player.defaultNode = node; puzzle.AddNode(node); puzzle.AddItem(player); } RefreshData(); }
public void Set(PuzzleFront puzzle, PuzzleItem item) { m_Puzzle = puzzle; m_Item = item; transform.parent = puzzle.transform; transform.position = puzzle.GetNode(item.defaultNode).transform.position; SetItem(item); }
public override void Set(PuzzleFront puzzle, PuzzleContainer container) { base.Set(puzzle, container); PuzzleNode node = container as PuzzleNode; if (node != null) { node.setPosition += SetPoint; SetPoint(node.position); } }
public override void Set(PuzzleFront puzzle, PuzzleContainer container) { base.Set(puzzle, container); UpdatePosition(); }
public virtual void Set(PuzzleFront puzzle, PuzzleContainer container) { m_Puzzle = puzzle; m_Container = container; }