Beispiel #1
0
    static public void Create()
    {
        if (Slicer2DController.Get().linearControllerObject.startedSlice == false)
        {
            return;
        }

        List <Vector2D> points = Slicer2DLinearControllerObject.GetLinearVertices(Slicer2DController.Get().linearControllerObject.GetPair(0), Slicer2DController.Get().linearControllerObject.minVertexDistance);

        if (points.Count < 3)
        {
            return;
        }

        Max2DParticles.CreateSliceParticles(points);

        float   size = 0.5f;
        Vector2 f    = points.First().ToVector2();

        f.x -= size / 2;
        f.y -= size / 2;

        List <Vector2D> list = new List <Vector2D>();

        list.Add(new Vector2D(f.x, f.y));
        list.Add(new Vector2D(f.x + size, f.y));
        list.Add(new Vector2D(f.x + size, f.y + size));
        list.Add(new Vector2D(f.x, f.y + size));
        list.Add(new Vector2D(f.x, f.y));

        Max2DParticles.CreateSliceParticles(list).stripped = false;

        f    = points.Last().ToVector2();
        f.x -= size / 2;
        f.y -= size / 2;

        list = new List <Vector2D>();
        list.Add(new Vector2D(f.x, f.y));
        list.Add(new Vector2D(f.x + size, f.y));
        list.Add(new Vector2D(f.x + size, f.y + size));
        list.Add(new Vector2D(f.x, f.y + size));
        list.Add(new Vector2D(f.x, f.y));

        Max2DParticles.CreateSliceParticles(list).stripped = false;
    }
    public void EditorLinear(Slicer2DLinearControllerObject id)
    {
        EditorGUI.indentLevel = EditorGUI.indentLevel + 1;

        id.addForce = EditorGUILayout.Foldout(id.addForce, "Add Force");
        if (id.addForce)
        {
            EditorGUI.indentLevel = EditorGUI.indentLevel + 1;

            id.addForceAmount = EditorGUILayout.FloatField("Force Amount", id.addForceAmount);

            EditorGUI.indentLevel = EditorGUI.indentLevel - 1;
        }


        id.autocomplete = EditorGUILayout.Toggle("Autocomplete", id.autocomplete);
        if (id.autocomplete)
        {
            EditorGUI.indentLevel = EditorGUI.indentLevel + 1;

            id.autocompleteDisplay  = EditorGUILayout.Toggle("Autocomplete Display", id.autocompleteDisplay);
            id.autocompleteDistance = EditorGUILayout.FloatField("Aatocomplete Distance", id.autocompleteDistance);

            EditorGUI.indentLevel = EditorGUI.indentLevel - 1;
        }

        id.startSliceIfPossible = EditorGUILayout.Toggle("Start Slice If Possible", id.startSliceIfPossible);
        id.endSliceIfPossible   = EditorGUILayout.Toggle("End Slice If Possible", id.endSliceIfPossible);

        id.strippedLinear = EditorGUILayout.Toggle("Stripped", id.strippedLinear);

        id.sliceJoints = EditorGUILayout.Toggle("Slice Joints", id.sliceJoints);

        id.displayCollisions = EditorGUILayout.Toggle("Display Collisions", id.displayCollisions);

        EditorGUI.indentLevel = EditorGUI.indentLevel - 1;
    }