/// <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); }
public override BaseParameter Clone() { var newProperty = new MainAggregateParameter(this.LuaName, this.Name, this.DefaultValue); newProperty.SetValue(this.Value); return(newProperty); }
/// <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); }
/// <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); }
/// <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); }