/// <summary> /// Добавить опознанный объект при загрузке из LUA /// </summary> /// <param name="obj">Объект</param> private void AddIdentifiedObjectWhenLoadFromLua(TechObject obj) { BaseTechObject baseTechObject = obj.BaseTechObject; var type = (BaseTechObjectManager.ObjectType)baseTechObject .S88Level; string name = BaseTechObjectManager.GetInstance() .GetS88Name(baseTechObject.S88Level); switch (type) { case BaseTechObjectManager.ObjectType.ProcessCell: AddProcessCellFromLua(obj); break; case BaseTechObjectManager.ObjectType.Unit: AddS88ObjectFromLua(obj, name); break; case BaseTechObjectManager.ObjectType.Aggregate: AddS88ObjectFromLua(obj, name); break; case BaseTechObjectManager.ObjectType.UserObject: AddUserObject(obj); break; } }
public ProcessCell() { objects = new List <TechObject>(); baseTechObject = BaseTechObjectManager.GetInstance() .GetTechObject(Name); globalObjectsList = TechObjectManager.GetInstance().TechObjects; }
public BaseObject(string baseTechObjectName) { localObjects = new List <TechObject>(); baseTechObject = BaseTechObjectManager.GetInstance() .GetTechObject(baseTechObjectName); globalObjectsList = TechObjectManager.GetInstance().TechObjects; }
public void InsertBaseObject(string luaName) { var baseObjectManager = BaseTechObjectManager.GetInstance(); BaseTechObject foundBaseObject = baseObjectManager .GetTechObject(luaName); if (foundBaseObject != null) { string baseObjectTypeName = baseObjectManager .GetS88Name(foundBaseObject.S88Level); var treeItem = GetTreeItem(baseObjectTypeName); if (treeItem != null) { if (treeItem is S88Object s88Obj) { s88Obj.Insert(foundBaseObject.Name); } else { treeItem.Insert(); } Editor.Editor.GetInstance().RefreshEditor(); } } }
public ProcessCell(ITechObjectManager techObjectManager) { objects = new List <TechObject>(); baseTechObject = BaseTechObjectManager.GetInstance() .GetTechObjectCopy(Name); this.techObjectManager = techObjectManager; globalObjectsList = this.techObjectManager.TechObjects; }
public UserObject() { objects = new List <TechObject>(); baseTechObject = BaseTechObjectManager.GetInstance() .GetTechObject(Name); techObjectManager = TechObjectManager.GetInstance(); globalObjectsList = techObjectManager.TechObjects; }
public BaseObject(string baseTechObjectName, ITechObjectManager techObjectManager) { localObjects = new List <TechObject>(); baseTechObject = BaseTechObjectManager.GetInstance() .GetTechObjectCopy(baseTechObjectName); this.techObjectManager = techObjectManager; globalObjectsList = this.techObjectManager.TechObjects; }
private void SortTreeObjectsByCustomComparer() { string firstS88LevelName = BaseTechObjectManager.GetInstance() .GetS88Name((int)BaseTechObjectManager.ObjectType.Unit); string secondS88LevelName = BaseTechObjectManager.GetInstance() .GetS88Name((int)BaseTechObjectManager.ObjectType.Aggregate); treeObjects = treeObjects.OrderByDescending(i => i is ProcessCell) .ThenByDescending(i => i is S88Object && i.DisplayText[0] .Contains(firstS88LevelName)) .ThenByDescending(i => i is S88Object && i.DisplayText[0] .Contains(secondS88LevelName)) .ThenByDescending(i => i is UserObject) .ThenByDescending(i => i is Unidentified) .ToList(); }
/// <summary> /// Добавление технологического объекта. Вызывается из Lua. /// </summary> /// <returns>Добавленный технологический объект.</returns> /// <param name="globalNumber">Глобальный номер объекта, используется /// при импорте из файла</param> public TechObject AddObject(int globalNumber, int techN, string name, int techType, string nameEplan, int cooperParamNumber, string NameBC, string baseTechObjectName, string attachedObjects) { // globalNumber игнорируется в этом методе, но используется при // импорте описания из файла (аналогичная сигнатура, другое тело). var baseTechObject = BaseTechObjectManager.GetInstance() .GetTechObject(baseTechObjectName); // getN - null т.к он будет другой, ниже по функциям. TechObject obj = new TechObject(name, null, techN, techType, nameEplan.ToUpper(), cooperParamNumber, NameBC, attachedObjects, baseTechObject); AddObject(obj); return(obj); }
override public bool SetNewValue(string newValue, bool isExtraValue) { if (baseTechObject.Name == newValue || baseTechObject.EplanName == newValue) { return(false); } if (baseTechObject.Name != "" && (newValue != baseTechObject.Name || newValue != baseTechObject.EplanName)) { baseTechObject.ResetBaseOperations(); attachedObjects.Reset(); equipment.Clear(); } BaseTechObject techObjFromDB = BaseTechObjectManager.GetInstance() .GetTechObject(newValue); if (techObjFromDB == null) { return(false); } techObjFromDB.Owner = baseTechObject.Owner; baseTechObject = techObjFromDB; S88Level = baseTechObject.S88Level; equipment.AddItems(baseTechObject.Equipment); equipment.Check(); // Т.к установили новое значение, произошла смена базового объекта // Надо сравнить ОУ и изменить его, если требуется CompareEplanNames(); return(true); }