Пример #1
0
        /// <summary>
        /// Добавить главный параметр агрегата
        /// </summary>
        /// <param name="luaName"></param>
        /// <param name="name"></param>
        /// <param name="defaultValue"></param>
        public void AddMainAggregateParameter(string luaName, string name,
                                              string defaultValue)
        {
            var par = new MainAggregateParameter(luaName, name, defaultValue);

            par.Owner = this;
            aggregateMainParameter = par;
        }
        public override BaseParameter Clone()
        {
            var newProperty = new MainAggregateParameter(LuaName,
                                                         Name, DefaultValue, DisplayObjects);

            newProperty.SetValue(Value);
            return(newProperty);
        }
Пример #3
0
        public override BaseParameter Clone()
        {
            var newProperty = new MainAggregateParameter(this.LuaName,
                                                         this.Name, this.DefaultValue);

            newProperty.SetValue(this.Value);
            return(newProperty);
        }
Пример #4
0
        /// <summary>
        /// Копия объекта
        /// </summary>
        /// <returns></returns>
        public BaseTechObject Clone()
        {
            var cloned = new BaseTechObject(Owner);

            cloned.Name = Name;

            var aggregateParameters = new List <BaseParameter>();

            foreach (var aggrPar in AggregateParameters)
            {
                aggregateParameters.Add(aggrPar.Clone());
            }
            cloned.AggregateParameters = aggregateParameters;
            if (MainAggregateParameter != null)
            {
                cloned.MainAggregateParameter = MainAggregateParameter.Clone()
                                                as MainAggregateParameter;
            }

            var baseOperations = new List <BaseOperation>();

            foreach (var baseOperation in BaseOperations)
            {
                baseOperations.Add(baseOperation.Clone());
            }
            cloned.BaseOperations = baseOperations;

            cloned.BasicName = BasicName;
            cloned.EplanName = EplanName;

            var equipment = new List <BaseParameter>();

            foreach (var equip in Equipment)
            {
                var newEquip = equip.Clone();
                newEquip.Owner = this;
                equipment.Add(newEquip);
            }
            cloned.Equipment = equipment;

            cloned.S88Level    = S88Level;
            cloned.BindingName = BindingName;
            cloned.IsPID       = IsPID;

            cloned.tankGroups = new List <AttachedObjects>();
            foreach (var tankGroup in tankGroups)
            {
                var clonedStrategy = new AttachedObjectStrategy
                                     .AttachedTanksStrategy(tankGroup.WorkStrategy.Name,
                                                            tankGroup.WorkStrategy.LuaName);
                var clonedGroup = new AttachedObjects(tankGroup.Value,
                                                      tankGroup.Owner, clonedStrategy);
                cloned.tankGroups.Add(clonedGroup);
            }

            return(cloned);
        }
Пример #5
0
        /// <summary>
        /// Копия объекта
        /// </summary>
        /// <returns></returns>
        public BaseTechObject Clone()
        {
            var cloned = EmptyBaseTechObject();

            cloned.Name  = Name;
            cloned.Owner = Owner;

            var aggregateParameters = new List <BaseParameter>();

            foreach (var aggrPar in AggregateParameters)
            {
                aggregateParameters.Add(aggrPar.Clone());
            }
            cloned.AggregateParameters = aggregateParameters;
            if (MainAggregateParameter != null)
            {
                cloned.MainAggregateParameter = MainAggregateParameter.Clone()
                                                as MainAggregateParameter;
            }

            var baseOperations = new List <BaseOperation>();

            foreach (var baseOperation in BaseOperations)
            {
                baseOperations.Add(baseOperation.Clone());
            }
            cloned.BaseOperations = baseOperations;

            cloned.BasicName = BasicName;
            cloned.EplanName = EplanName;

            var equipment = new List <BaseParameter>();

            foreach (var equip in Equipment)
            {
                var newEquip = equip.Clone();
                newEquip.Owner = this;
                equipment.Add(newEquip);
            }
            cloned.Equipment = equipment;

            cloned.S88Level    = S88Level;
            cloned.BindingName = BindingName;
            cloned.IsPID       = IsPID;
            return(cloned);
        }
Пример #6
0
        /// <summary>
        /// Копия объекта
        /// </summary>
        /// <returns></returns>
        public BaseTechObject Clone()
        {
            var cloned = new BaseTechObject(Owner);

            cloned.Name = Name;

            var aggregateParameters = new List <BaseParameter>();

            foreach (var aggrPar in AggregateParameters)
            {
                aggregateParameters.Add(aggrPar.Clone());
            }
            cloned.AggregateParameters = aggregateParameters;
            if (MainAggregateParameter != null)
            {
                cloned.MainAggregateParameter = MainAggregateParameter.Clone()
                                                as MainAggregateParameter;
            }

            var baseOperations = new List <BaseOperation>();

            foreach (var baseOperation in BaseOperations)
            {
                baseOperations.Add(baseOperation.Clone());
            }
            cloned.BaseOperations = baseOperations;

            cloned.BasicName = BasicName;
            cloned.EplanName = EplanName;

            var equipment = new List <BaseParameter>();

            foreach (var equip in Equipment)
            {
                var newEquip = equip.Clone();
                newEquip.Owner = this;
                equipment.Add(newEquip);
            }
            cloned.Equipment = equipment;

            cloned.S88Level    = S88Level;
            cloned.BindingName = BindingName;
            cloned.IsPID       = IsPID;

            cloned.objectGroups = new List <AttachedObjects>();
            foreach (var objectGroup in objectGroups)
            {
                var clonedStrategy = new AttachedObjectStrategy
                                     .AttachedWithoutInitStrategy(
                    objectGroup.WorkStrategy.Name,
                    objectGroup.WorkStrategy.LuaName,
                    objectGroup.WorkStrategy.AllowedObjects);
                var clonedGroup = new AttachedObjects(objectGroup.Value,
                                                      objectGroup.Owner, clonedStrategy);
                cloned.objectGroups.Add(clonedGroup);
            }

            cloned.SystemParams  = SystemParams.Clone();
            cloned.Parameters    = Parameters.Clone();
            cloned.LuaModuleName = LuaModuleName;
            cloned.MonitorName   = MonitorName;

            return(cloned);
        }