Esempio n. 1
0
    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();
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
    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);
        }
    }
Esempio n. 4
0
 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;
 }