//called when data for any output pin is requested public void Evaluate(int SpreadMax) { FNameOutput.SliceCount = SpreadMax; FEntryOutput.SliceCount = SpreadMax; if (FInput.IsChanged) { for (int i = 0; i < SpreadMax; i++) { var enumname = FInput[i].Name; FNameOutput[i] = enumname; var entries = new List <string>(); int enumcount = EnumManager.GetEnumEntryCount(enumname); for (int j = 0; j < enumcount; j++) { entries.Add(EnumManager.GetEnumEntry(enumname, j)); } FEntryOutput[i].AssignFrom(entries); } } }
public TodoHdeEnumVariable(INode2 node, TodoEngine engine, string varname) { this.node = node; //this.var = var; this.valuepin = this.node.FindPin("Input Enum"); enumname = this.valuepin.SubType.Split(",".ToCharArray())[1].Trim(); int ecnt = EnumManager.GetEnumEntryCount(enumname); for (int i = 0; i < ecnt; i++) { string eval = EnumManager.GetEnumEntryString(enumname, i); string vn = varname + "-" + eval; TodoVariable var = engine.GetVariableByName(vn); if (var == null) { var = new TodoVariable(vn); var.Category = "Global"; engine.RegisterVariable(var, false); } var.ValueChanged += var_ValueChanged; vars.Add(var); } //this.valuepin. //this.valuepin.Type //var.ValueChanged += var_ValueChanged; //var.VariableUpdated += var_VariableUpdated; }
InterimTextureInfo() { var count = EnumManager.GetEnumEntryCount("TextureFormat"); for (int i = 0; i < count; i++) { var entry = EnumManager.GetEnumEntry("TextureFormat", i); if (entry.Name == "A8R8G8B8") { FEnumEntry = entry; break; } } }
//called when data for any output pin is requested public void Evaluate(int SpreadMax) { FNameOutput.SliceCount = SpreadMax; FEntryOutput.SliceCount = SpreadMax; var anyEnumChanged = false; var inputEnums = FInput.ToSpread().ToList(); foreach (var changedEnum in FChangedEnums) { if (inputEnums.Any(e => e.Name == changedEnum)) { anyEnumChanged = true; break; } } if (FInput.IsChanged || anyEnumChanged) { FChangedEnums.Clear(); for (int i = 0; i < SpreadMax; i++) { var enumname = FInput[i].Name; FNameOutput[i] = enumname; var entries = new List <string>(); int enumcount = EnumManager.GetEnumEntryCount(enumname); for (int j = 0; j < enumcount; j++) { entries.Add(EnumManager.GetEnumEntry(enumname, j)); } FEntryOutput[i].AssignFrom(entries); } } }