FillInsideWithFootprints() public method

public FillInsideWithFootprints ( ) : void
return void
Beispiel #1
0
    IEnumerator FillChildrenInsidesWithFootprints()
    {
        long startTime = DateTime.Now.Ticks;

        EditorUtility.DisplayProgressBar("FillChildrenInsidesWithFootprints", "Filling children graphs with footprints", 0f);
        yield return(null);

        for (int i = 0; i < placer.transform.childCount; i++)
        {
            FootprintPlacer childPlacer = placer.transform.GetChild(i).GetComponent <FootprintPlacer>();
            if (!placer)
            {
                continue;
            }

            childPlacer.footprintPrefabsInside = placer.footprintPrefabsInside;

            try
            {
                childPlacer.UpdateData();
                childPlacer.FillInsideWithFootprints();
                Debug.Log("FillChildrenInsidesWithFootprints... " + (i + 1) + "/" + placer.transform.childCount + " (" + (DateTime.Now.Ticks - startTime) / 10000000 + "s)");
                EditorUtility.DisplayProgressBar("FillChildrenInsidesWithFootprints", "Filling children graphs' insides footprints " + (i + 1) + "/" + placer.transform.childCount, (float)i / placer.transform.childCount);
            }
            catch (Exception e)
            {
                Debug.Log("FootprintPlacerEditor::FillChildrenInsidesWithFootprints() - Error: " + e.Message);
                EditorUtility.ClearProgressBar();
            }
            yield return(null);
        }

        EditorUtility.ClearProgressBar();
    }
Beispiel #2
0
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();

        if (GUILayout.Button("Clear edge", GUILayout.Width(100f)))
        {
            placer.ClearUnmodifiedFootprints(true);
        }

        if (GUILayout.Button("Clear inside", GUILayout.Width(100f)))
        {
            placer.ClearUnmodifiedFootprints(false);
        }

        if (GUILayout.Button("Fill Edges", GUILayout.Width(100f)))
        {
            placer.UpdateData();
            placer.FillWithEdgesWithFootprints();
        }

        if (GUILayout.Button("Call Fill Edges On Children", GUILayout.Width(200f)))
        {
            UtilityTools.EditorCoroutine.start(FillChildrenEdgesWithFootprints());
        }

        if (GUILayout.Button("Fill Inside", GUILayout.Width(100f)))
        {
            placer.UpdateData();
            placer.FillInsideWithFootprints();

            EditorUtility.ClearProgressBar();
        }

        if (GUILayout.Button("Call Fill Inside On Children", GUILayout.Width(200f)))
        {
            UtilityTools.EditorCoroutine.start(FillChildrenInsidesWithFootprints());
        }
    }