Esempio n. 1
0
        public override Node Copy(bool runtime = false)
        {
            WeightedBranch copy = (WeightedBranch)base.Copy(runtime);

            copy.Weights = new List <WeightData>();
            foreach (var w in Weights)
            {
                var copyW = new WeightData()
                {
                    OutputName   = w.OutputName,
                    VariableName = w.VariableName
                };
                copy.Weights.Add(copyW);
            }
            return(copy);
        }
Esempio n. 2
0
        protected override void OnInit()
        {
            PinCollection.AddInTransition("IN");
            PinCollection.AddInput("Value", typeof(int));

            WeightData w1 = new WeightData()
            {
                VariableName = "Weight_0", OutputName = "Weight_0"
            };

            Variables.Add(w1.VariableName, 1, "Input");
            PinCollection.AddOutTransition(w1.OutputName);
            Weights.Add(w1);

            WeightData w2 = new WeightData()
            {
                VariableName = "Weight_1", OutputName = "Weight_1"
            };

            Variables.Add(w2.VariableName, 3, "Input");
            PinCollection.AddOutTransition(w2.OutputName);
            Weights.Add(w2);
        }
        protected override void onAddCallback(ReorderableList list)
        {
            int cnt = _node.Weights.Count;
            int min = 1;

            if (cnt > 0)
            {
                var wd = _node.Weights[cnt - 1];
                var v  = _node.Variables.GetByName(wd.VariableName);
                min = v.ConvertedValue <int>() + 2;
            }

            var w = new WeightData();

            w.VariableName = "Weight_" + (cnt);
            w.OutputName   = w.VariableName;

            _node.Variables.Add(w.VariableName, min, "Input");
            _node.PinCollection.AddOutTransition(w.OutputName);
            _node.Weights.Add(w);

            _node.HasChanges = true;
        }