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); }
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; }