//合并 public void combine(PropertyTypesManager srcPropertyTypesManager, ArrayList ids) { for (int i = 0; i < srcPropertyTypesManager.getElementCount(); i++) { if (ids == null || !ids.Contains(i)) { continue; } PropertyTypeElement srcPropertyTypeElement = (PropertyTypeElement)srcPropertyTypesManager.getElement(i); //寻找相同的属性类型单元 PropertyTypeElement localPropertyTypeElement = null; for (int j = 0; j < getElementCount(); j++) { PropertyTypeElement tempPropertyTypeElement = (PropertyTypeElement)getElement(j); if (tempPropertyTypeElement.name.Equals(srcPropertyTypeElement.name)) { localPropertyTypeElement = tempPropertyTypeElement; break; } } //找到相同名称的本地单元 if (localPropertyTypeElement != null) { localPropertyTypeElement.combine(srcPropertyTypeElement); } else//并入本容器 { srcPropertyTypeElement.combineTo(this); } } }
//合并入 public void combineTo(PropertyTypesManager destPropertyTypesManager) { this.parent = destPropertyTypesManager; //去除依赖属性 for (int i = 0; i < propertiesManager.getElementCount(); i++) { PropertyElement propertyElement = (PropertyElement)propertiesManager.getElement(i); propertyElement.propertyTypeElementUsed = null; } for (int i = 0; i < instancesManager.getElementCount(); i++) { InstanceElement instanceElement = (InstanceElement)instancesManager.getElement(i); instanceElement.propertyValueManager.clearDependProperty(); } destPropertyTypesManager.addElement(this); }
public InstancesManager instancesManager = null; //实例管理 public PropertyTypeElement(PropertyTypesManager parentT) : base(parentT) { propertiesManager = new PropertiesManager(this,((PropertyTypesManager)parent).form_main); instancesManager = new InstancesManager(this); }
public void releaseRes() { m_HistoryManager=null; textsManager = null; mapImagesManager = null; mapsManager = null; varIntManager = null; varStringManager = null; triggerFunctionManager = null; contextFunctionManager = null; executionFunctionManager = null; //triggersManager = null; propertyTypesManager = null; }
//初始化参数=========================================================== public void initData(String path) { path_file = path; path_folder = path_file.Substring(0, path_file.LastIndexOf('\\') + 1); m_HistoryManager = new UndoManager(); m_HistoryManager.MaxUndoLevel = 100; textsManager = new TextsManager(this); mapImagesManager = new MImgsManager(this); mapsManager = new MapsManager(this, mapImagesManager); varIntManager = new VarsManager(this); varStringManager = new VarsManager(this); triggerFunctionManager = new FunctionsManager(this); contextFunctionManager = new FunctionsManager(this); executionFunctionManager = new FunctionsManager(this); iDsManager = new VarsManager(this); propertyTypesManager = new PropertyTypesManager(this); form_MAnimation = new Form_MAnimation(this); mapsManager.initAntetype(form_MAnimation.form_MActorList.actorsManager); if (Consts.PATH_PROJECT_FILEPATH != null) { this.Text = Consts.PATH_PROJECT_FILEPATH; } userDoc.initUserData(path);//读入数据 }