public override object Clone()
        {
            AB_LoopActions obj = (AB_LoopActions)base.Clone();

            if (_logicExpression != null)
            {
                obj.Condition = (MathNodeRoot)_logicExpression.Clone();
            }
            if (_iconList != null)
            {
                obj._iconList = new List <ComponentIcon>();
                foreach (ComponentIcon c in _iconList)
                {
                    obj._iconList.Add((ComponentIcon)c.Clone());
                }
            }
            if (_initAction != null)
            {
                obj._initAction = _initAction;
            }
            if (_increAction != null)
            {
                obj._increAction = _increAction;
            }
            return(obj);
        }
 public DataValuePropertyDescriptor(AB_LoopActions owner, Attribute[] attributes)
     : base("Condition", attributes)
 {
     _owner             = owner;
     _ev                = new ParameterValue(_owner);
     _ev.Name           = "Expression";
     _ev.ValueType      = EnumValueType.MathExpression;
     _ev.MathExpression = _owner.Condition;
     _ev.ScopeMethod    = _owner.Method;
     _ev.SetParameterValueChangeEvent(onValueChanged);
 }
 public PropertyDescriptorInlineAction(AB_LoopActions owner, Attribute[] attributes, string name)
     : base(name, attributes)
 {
     _owner  = owner;
     _isInit = string.CompareOrdinal(name, "InitAction") == 0;
 }