public override void OnAddOutputPinButtonClicked(CNodeChangeContext context) { if (InputPins[0].Literal is CKlaxScriptTypeInfo currentType) { CSwitchExecutionPin pin = new CSwitchExecutionPin { Name = "", Type = currentType.Type, Value = currentType.Type.GetDefaultValue() }; AddExecutionPin(context, pin, OutExecutionPins.Count, false); } }
public override CExecutionPin Execute(CNodeExecutionContext context, List <object> inParameters, List <object> outReturn) { object instance = inParameters[1] ?? InputPins[1].Literal; if (instance != null) { for (int i = 1, count = OutExecutionPins.Count; i < count; i++) { CSwitchExecutionPin pin = (CSwitchExecutionPin)OutExecutionPins[i]; if (instance.Equals(pin.Value)) { return(OutExecutionPins[i]); } } } return(OutExecutionPins[0]); }