コード例 #1
0
 public ScorerNode(ScorerData scData, SerializedProperty serScData, List <string> keys) : base(serScData)
 {
     title = "Scorer";
     DrawFields(scData, keys);
     outPort = AddPort("Output", Orientation.Horizontal, Direction.Output, Port.Capacity.Multi, typeof(QualiScorerNode));
     Refresh();
 }
コード例 #2
0
        public void CreateNewScorerNode(Vector2 position)
        {
            ScorerData scData = new ScorerData();

            scData.position = position;
            scData.guid     = Guid.NewGuid().ToString();
            scData.key      = graphData.context.propertyNames[0];
            graphData.scorers.Add(scData);
            SaveGraphData();
            CreateScorerNode(graphData.scorers.Count - 1);
        }
コード例 #3
0
        public ScorerNode CreateScorerNode(int index)
        {
            ScorerData         scData    = graphData.scorers[index];
            SerializedProperty scorerArr = graphDataSerialized.FindProperty("scorers");
            SerializedProperty serScData = scorerArr.GetArrayElementAtIndex(index);
            ScorerNode         node      = new ScorerNode(scData, serScData, graphData.context.propertyNames);

            this.AddElement(node);
            this.allNodes.Add(node.guid, node);
            return(node);
        }
コード例 #4
0
        private void DrawFields(ScorerData scData, List <string> keys)
        {
            CurveField          curveField = new CurveField("uFunction");
            int                 index      = keys.IndexOf(scData.key);
            PopupField <string> popupField = new PopupField <string>("key", keys, index);

            /*UnityExtensions.DebugLogEnumerable(popupField.GetClasses());
            *  UnityExtensions.DebugLogEnumerable(curveField.GetClasses());*/
            curveField.BindProperty(serData.FindPropertyRelative("uFunction"));
            popupField.BindProperty(serData.FindPropertyRelative("key"));
            contentContainer.Add(curveField);
            contentContainer.Add(popupField);
        }