public static void ActionSetInputName(IAction a, string name, DataTypePointer type)
 {
     if (a != null)
     {
         if (a.ActionCondition != null)
         {
             a.ActionCondition.SetActionInputName(name, type.BaseClassType);
         }
         List <ParameterValue> pvs = a.ParameterValues;
         if (pvs != null && pvs.Count > 0)
         {
             foreach (ParameterValue p in pvs)
             {
                 if (p.ValueType == EnumValueType.MathExpression)
                 {
                     MathNodeRoot mr = p.MathExpression as MathNodeRoot;
                     if (mr != null)
                     {
                         mr.SetActionInputName(name, type.BaseClassType);
                     }
                 }
                 else if (p.ValueType == EnumValueType.Property)
                 {
                     ActionInput ai = p.Property as ActionInput;
                     if (ai != null)
                     {
                         ai.SetActionInputName(name, type);
                     }
                 }
             }
         }
     }
 }
 public void SetActionInputName(string name, Type type)
 {
     if (_exp != null)
     {
         _exp.SetActionInputName(name, type);
     }
 }
 /// <summary>
 /// set the input variable name to all input variables
 /// </summary>
 /// <param name="name"></param>
 public override void SetInputName(string name, DataTypePointer type)
 {
     if (_logicExpression != null)
     {
         _logicExpression.SetActionInputName(name, type.BaseClassType);
     }
     base.SetInputName(name, type);
 }
 /// <summary>
 /// set the input variable name to all input variables
 /// </summary>
 /// <param name="name"></param>
 public override void SetInputName(string name, DataTypePointer type)
 {
     if (RepeatCount.MathExpression != null)
     {
         MathNodeRoot r = RepeatCount.MathExpression as MathNodeRoot;
         if (r != null)
         {
             r.SetActionInputName(name, type.BaseClassType);
         }
     }
     base.SetInputName(name, type);
 }