示例#1
0
        public override void OnInspectorGUI()
        {
            var transform = target as Transform;

            //Horizontal Scope
            ////An Indented way of using Unitys Scopes
            using (new GUILayout.HorizontalScope())
            {
                var ResetContent      = new GUIContent("Reset Transform", "Reset Transforms in global space");
                var ResetLocalContent = new GUIContent("Reset Local Transform", "Reset Transforms in local space");
                if (GUILayout.Button(ResetContent, EditorStyles.toolbarButton))
                {
                    Undo.RecordObject(transform, "ResetPosRotScale");
                    transform.ResetPosRotScale();
                }
                if (GUILayout.Button(ResetLocalContent, EditorStyles.toolbarButton))
                {
                    Undo.RecordObject(transform, "ResetLocalPosRotScale");
                    transform.ResetLocalPosRotScale();
                }
                EditorHelpers.CopyPastObjectButtons(serializedObject.targetObject);
            }

            //Vertical Scope
            ////An Indented way of using Unitys Scopes
            using (new GUILayout.VerticalScope())
            {
                if ((scaleToggle = EditorGUILayout.Foldout(scaleToggle, "Scale Presets")))
                {
                    ScaleBtnsEnabled();
                }
            }

            EditorHelpers.Label(transform.parent == null? "Transform" : "Local Transform");

            var localPosition    = EditorHelpers.DrawVector3("Position", transform.localPosition, Vector3.zero, transform);
            var localEulerAngles = EditorHelpers.DrawVector3("Rotation", transform.localEulerAngles, Vector3.zero, transform);

            var localScale = EditorHelpers.DrawVector3("Scale   ", transform.localScale, Vector3.one, transform);

            if (transform.localEulerAngles != localEulerAngles)
            {
                Undo.RecordObject(transform, "localEulerAngles Changed");
                transform.localEulerAngles = localEulerAngles;
            }
            if (transform.localPosition != localPosition)
            {
                Undo.RecordObject(transform, "localPosition Changed");
                transform.localPosition = localPosition;
            }
            if (transform.localScale != localScale)
            {
                Undo.RecordObject(transform, "localScale Changed");
                transform.localScale = localScale;
            }

            serializedObject.ApplyModifiedProperties();
        }
        public override void OnInspectorGUI()
        {
            var body = target as Rigidbody;

            EditorHelpers.CopyPastObjectButtons(serializedObject);
            DrawDefaultInspector();
            EditorHelpers.Label("Changing the Velocity may cause issues.");
            body.velocity        = EditorHelpers.DrawVector3("Velocity", body.velocity, Vector3.zero, this);
            body.angularVelocity = EditorHelpers.DrawVector3("Angular", body.angularVelocity, Vector3.zero, this);
        }
    public override void OnInspectorGUI()
    {
        var changedObj = target as SpawnLayout;

        EditorGUILayout.BeginHorizontal("Box");
        changedObj = EditorHelpers.CopyPastObjectButtons(changedObj) as SpawnLayout;
        EditorGUILayout.EndHorizontal();
        //DrawDefaultInspector();

        //serializedObject.Update();
        list.DoLayoutList();
        EditorUtility.SetDirty(changedObj);
    }
示例#4
0
    public override void OnInspectorGUI()
    {
        var body = target as Rigidbody;

        EditorGUILayout.BeginHorizontal("Box");
        body = EditorHelpers.CopyPastObjectButtons(body) as Rigidbody;
        EditorGUILayout.EndHorizontal();
        DrawDefaultInspector();
        EditorHelpers.Label("");
        EditorHelpers.Label("Changing the Velocity may cause issues.");
        EditorHelpers.Label("");
        body.velocity        = EditorHelpers.DrawVector3("Velocity", body.velocity, Vector3.zero, false);
        body.angularVelocity = EditorHelpers.DrawVector3("Angular", body.angularVelocity, Vector3.zero, false);
    }
示例#5
0
    public override void OnInspectorGUI()
    {
        var transform = target as Transform;

        serializedObject.Update();
        EditorGUILayout.BeginHorizontal("Box");
        transform = EditorHelpers.CopyPastObjectButtons(transform) as Transform;
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.BeginVertical("Box");
        EditorGUILayout.BeginVertical();
        EditorGUILayout.BeginHorizontal();
        var ResetContent      = new GUIContent("Reset Transform", "Reset Transforms in global space");
        var ResetLocalContent = new GUIContent("Reset Local Transform", "Reset Transforms in local space");

        if (GUILayout.Button(ResetContent))
        {
            transform.ResetPosRotScale();
        }

        if (GUILayout.Button(ResetLocalContent))
        {
            transform.ResetLocalPosRotScale();
        }

        EditorGUILayout.EndVertical();
        EditorGUILayout.BeginHorizontal();
        scaleToggle = EditorGUILayout.Toggle("Scale Presets", scaleToggle);

        if (scaleToggle)
        {
            ScaleBtnsEnabled();
        }

        EditorGUILayout.EndHorizontal();
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.EndVertical();
        EditorHelpers.Label(transform.parent == null? "Transform" : "Local Transform");
        transform.localEulerAngles = EditorHelpers.DrawVector3("Rotation", transform.localEulerAngles, Vector3.zero);
        transform.localPosition    = EditorHelpers.DrawVector3("Position", transform.localPosition, Vector3.zero);
        transform.localScale       = EditorHelpers.DrawVector3("Scale   ", transform.localScale, Vector3.one);
        serializedObject.ApplyModifiedProperties();
    }
    public override void OnInspectorGUI()
    {
        var changedObj = target as object;

        EditorGUILayout.BeginHorizontal("Box");
        changedObj = EditorHelpers.CopyPastObjectButtons(changedObj);
        EditorGUILayout.EndHorizontal();
        var cachedGuiColor = GUI.color;

        serializedObject.Update();
        var property = serializedObject.GetIterator();
        var next     = property.NextVisible(true);

        if (next)
        {
            do
            {
                GUI.color = cachedGuiColor;
                HandleProperty(property);
            }while(property.NextVisible(false));
        }

        serializedObject.ApplyModifiedProperties();
    }