private void DrawFields(QualiScorerData qsData) { EnumField qualTypeField = new EnumField("type", Qualifier.QualiType.SumOfChildren); qualTypeField.BindProperty(serData.FindPropertyRelative("qualiType")); LimitedFloatField thresholdField = new LimitedFloatField("threshold", 0, 1); thresholdField.BindProperty(serData.FindPropertyRelative("threshold")); contentContainer.Add(qualTypeField); contentContainer.Add(thresholdField); }
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); }
public QualiScorerNode(QualiScorerData qsData, SerializedProperty serData) : base(serData) { title = "QualiScorer"; /*for(int i = 0; i < qsData.inLinks.Count; i++) * { * SerializedProperty linkProp = serData.FindPropertyRelative("inLinks").GetArrayElementAtIndex(i).FindPropertyRelative("weight"); * AddInputPort(qsData.inLinks[i], linkProp); * }*/ //AddInputPort(true); DrawFields(qsData); outPort = AddPort("Output", Orientation.Horizontal, Direction.Output, Port.Capacity.Multi); Refresh(); }
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 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(); } }