Пример #1
0
    //!Definiuję minimapę grafu.
    private void createMinimap()
    {
        MiniMap minimap = new MiniMap();

        minimap.anchored = true;
        minimap.SetPosition(new Rect(10, 30, 200, 150));
        view.Add(minimap);
    }
Пример #2
0
    //!Ładuje graf do edytora.
    public void load(string fileName)
    {
        DialogContainer dialogContainer = Resources.Load <DialogContainer>("Dialogs/Trees/" + fileName); //Ładuje plik.

        if (dialogContainer == null)
        {
            return;
        }

        deleteNodes(dialogContainer);

        foreach (NodeDataContainer data in dialogContainer.NodeData) //Odtwarza węzły na podstawie pliku.
        {
            DialogNode node = new DialogNode(data);
            foreach (NodeConnection portConnection in dialogContainer.Connections)
            {
                if (portConnection.NodeGuid == data.Guid)
                {
                    node.createPort(portConnection.PortName, Direction.Output);
                }
            }
            view.AddElement(node);
            node.SetPosition(new Rect(data.Position.x, data.Position.y, 200, 200));
        }
        nodes = view.nodes.ToList().Cast <DialogNode>().ToList();

        foreach (NodeConnection portConnection in dialogContainer.Connections) //Odtwarza połączenia.
        {
            DialogNode  output     = nodes.Find(x => x.Guid == portConnection.NodeGuid);
            DialogNode  input      = nodes.Find(x => x.Guid == portConnection.TargetGuid);
            List <Port> ports      = output.getOutputPorts();
            Port        outputPort = ports.Find(x => x.portName == portConnection.PortName);
            if (input != null)
            {
                output.IsLeaf = false;
                view.Add(outputPort.ConnectTo((Port)input.inputContainer[0]));
            }
            else
            {
                output.removePort(outputPort);
            }
        }
    }