示例#1
0
    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);
        }
    }
示例#2
0
    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);
        }
    }