//!Definiuję minimapę grafu. private void createMinimap() { MiniMap minimap = new MiniMap(); minimap.anchored = true; minimap.SetPosition(new Rect(10, 30, 200, 150)); view.Add(minimap); }
//!Ł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); } } }