private void AddState(Condition condition) { Type type = Type.GetType(tool.Name + "ConditionState"); if (type != null) { ConditionState conditionState = (ConditionState)Activator.CreateInstance(type, tool, condition, geometry); conditionState.OnClickDelete = () => geoController.RemoveConditionOperation(condition); stateController.AddConditionState(conditionState); } }
private void AddState(Condition condition) { Type type = Type.GetType(tool.Name + "ConditionState"); if (type != null) { ConditionState conditionState = (ConditionState)Activator.CreateInstance(type, tool, condition, geometry); //删除函数? conditionState.OnClickDelete = () => geoController.RemoveConditionOperation(condition); conditionState.OnElementHighlight = () => { //获取当前state对应的geoline,让behaviour调用 FreeCondition free = (FreeCondition)condition; Function func = (Function)geometry; geometryBehaviour.HighlightLine(func.Getline()[free.index - 1]); func.Setfomula(func.Getline()[free.index - 1].Fomula()); }; stateController.AddConditionState(conditionState); } }