Exemple #1
0
    override public void OnInspectorGUI()
    {
        ensureTargetInit();

        if (ChangedToggle("Editable", ref _editNodes))
        {
            SceneView.RepaintAll();
        }

        if (!_editNodes)
        {
            return;
        }

        targ.KeepDebugMesh    = EditorGUILayout.Toggle("Keep Mesh", targ.KeepDebugMesh);
        targ.UseCoolGenerator = true;

        _testMax = EditorGUILayout.IntField("_testMax", _testMax);

        EditorGUILayout.Separator();
        EditorGUILayout.LabelField("Edit Mode", EditorStyles.boldLabel);

        if (EditorTool.EnumToggleList <EditMode>(ref _editMode))
        {
            if (_editMode == EditMode.Delete && targ.Nodes.Count < 4)
            {
                _editMode = EditMode.MoveSingle;
            }
            SceneView.RepaintAll();
        }

        EditorGUILayout.Separator();
        EditorGUILayout.LabelField("Snapping Options", EditorStyles.boldLabel);

        if (ChangedToggle("Snap to Grid", ref _snapToGrid))
        {
            SceneView.RepaintAll();
        }
        _snapToNeighbor = EditorGUILayout.Toggle("Snap to Neighbor", _snapToNeighbor);

        EditorGUILayout.Separator();
        EditorGUILayout.LabelField("Jaggy Options", EditorStyles.boldLabel);

        if (ChangedToggle("Use Jags", ref targ.UseJags))
        {
            generate();
        }
        if (targ.UseJags)
        {
            if (ChangedFloat("Step Size", ref targ.JagStepSize))
            {
                generate();
            }
            if (ChangedFloat("Jaggy Size", ref targ.JaggySize))
            {
                generate();
            }
            if (ChangedToggle("Flip Normals", ref targ.JagFlipNormals))
            {
                generate();
            }
        }

        EditorGUILayout.Separator();

        if (GUILayout.Button("Flip Horizontal"))
        {
            flipHorizontal();
        }
        if (GUILayout.Button("Centralize Pivot"))
        {
            centralizePivot();
        }

        if (targ.UseCoolGenerator)
        {
            EditorGUILayout.Separator();
            if (GUILayout.Button("Generate"))
            {
                generateCool();
            }
        }
    }