コード例 #1
0
ファイル: LPShapeEditor.cs プロジェクト: stg34/OPENTadpole
    protected void Removepoints(LPCorporeal poly, Event e)
    {
        Vector3 mousepos = GetMousePos(e);
        int     cID      = GetCID();

        int   closest;
        float dist;

        isclosest        = CheckDists(poly.transform, poly.GetPoints(), poly.transform.position, mousepos, cID, out closest, out dist, Color.red, poly.EditMe);
        poly.ClosestDist = dist;
        if (isclosest)
        {
            editpoint = closest;
        }
        CheckDists(poly);

        if (poly.EditMe)
        {
            switch (e.type)
            {
            case EventType.mouseDown:
                if (isclosest && poly.GetPoints().Count > 3)
                {
                    Undo.RecordObject(poly, "Remove Point from poly shape");
                    poly.RemovePoint(closest);
                }
                e.Use();
                break;

            case EventType.MouseMove:
                e.Use();
                break;

            case EventType.layout:
                HandleUtility.AddDefaultControl(cID);
                break;
            }
            if (GUI.changed)
            {
                EditorUtility.SetDirty(target);
            }
        }
    }
コード例 #2
0
    protected void Removepoints(LPCorporeal poly, Event e)
    {
        Vector3 mousepos = GetMousePos(e);
        int cID = GetCID();

        int closest;
        float dist;
        isclosest = CheckDists(poly.transform,poly.GetPoints(),poly.transform.position,mousepos,cID,out closest, out dist,Color.red,poly.EditMe);
        poly.ClosestDist = dist;
        if (isclosest)
        {
            editpoint = closest;
        }
        CheckDists(poly);

        if(poly.EditMe)
        {

            switch (e.type)
            {
            case EventType.mouseDown:
                if (isclosest && poly.GetPoints().Count > 3)
                {
                    Undo.RecordObject (poly,"Remove Point from poly shape");
                    poly.RemovePoint(closest);
                }
                e.Use();
                break;

            case EventType.MouseMove:
                e.Use();
                    break;

                case EventType.layout:
                    HandleUtility.AddDefaultControl(cID);
                    break;
            }
            if (GUI.changed) EditorUtility.SetDirty(target);
        }
    }