예제 #1
0
 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);
     }
 }
예제 #2
0
        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]);
        }