public void CreateNewQualiScorerNode(Vector2 position) { QualiScorerData qsData = new QualiScorerData(); qsData.position = position; qsData.guid = Guid.NewGuid().ToString(); graphData.qualiScorers.Add(qsData); SaveGraphData(); int qsIndex = graphData.qualiScorers.Count - 1; QualiScorerNode qsNode = CreateQualiScorerNode(qsIndex); AddNewQualiScorerPort(qsNode, qsIndex); }
private void AddExistingQualiScorerPort(QualiScorerNode qsNode, int qsIndex, int nwIndex) { NodeWeightedLink nwLink = graphData.qualiScorers[qsIndex].inLinks[nwIndex]; SaveGraphData(); SerializedProperty serNWL = graphDataSerialized .FindProperty("qualiScorers") .GetArrayElementAtIndex(qsIndex) .FindPropertyRelative("inLinks") .GetArrayElementAtIndex(nwIndex) .FindPropertyRelative("weight"); Port port = qsNode.AddInputPort(nwLink, serNWL); AddExistingPort(nwLink, port, qsNode); }
public QualiScorerNode CreateQualiScorerNode(int index) { QualiScorerData qsData = graphData.qualiScorers[index]; SerializedProperty qsArr = graphDataSerialized.FindProperty("qualiScorers"); SerializedProperty serData = qsArr.GetArrayElementAtIndex(index); QualiScorerNode node = new QualiScorerNode(qsData, serData); this.AddElement(node); for (int i = 0; i < qsData.inLinks.Count; i++) { AddExistingQualiScorerPort(node, index, i); } this.allNodes.Add(node.guid, node); return(node); }
private void AddNewQualiScorerPort(QualiScorerNode qsNode, int qsIndex) { NodeWeightedLink nwLink = new NodeWeightedLink(); nwLink.otherNodeID = ""; nwLink.weight = 0.5f; graphData.qualiScorers[qsIndex].inLinks.Add(nwLink); int linkIndex = graphData.qualiScorers[qsIndex].inLinks.Count - 1; SaveGraphData(); SerializedProperty serNWL = graphDataSerialized .FindProperty("qualiScorers") .GetArrayElementAtIndex(qsIndex) .FindPropertyRelative("inLinks") .GetArrayElementAtIndex(linkIndex) .FindPropertyRelative("weight"); qsNode.AddInputPort(nwLink, serNWL); }
private void DeleteEdge(Edge edge) { if (edge.input.node is QualiScorerNode) { QualiScorerNode qsNode = ((QualiScorerNode)edge.input.node); NodeData nData = GetDataByGuid(qsNode.guid); QualiScorerData qData = (QualiScorerData)nData; int portIndex = qsNode.inputContainer.IndexOf(edge.input); qData.inLinks[portIndex].otherNodeID = ""; SaveGraphData(); } else if (edge.input.node is QualifierNode) { QualifierNode qNode = ((QualifierNode)edge.input.node); NodeData nData = GetDataByGuid(qNode.guid); QualifierData qData = (QualifierData)nData; int portIndex = qNode.inputContainer.IndexOf(edge.input); qData.inLinks[portIndex].otherNodeID = ""; SaveGraphData(); } }