Trình chỉnh sửa tùy chỉnh - giữ giao diện mặc định nhưng thêm nhiều hơn


8

Những gì tôi muốn biết là nếu có một cách dễ dàng bằng cách sử dụng OnInspectorGUI, để thay thế trình kiểm tra bằng một trường chỉ bao gồm một hoặc hai trường bổ sung (để nó trông giống hệt trình chỉnh sửa không tùy chỉnh, ngoại trừ việc thêm một hoặc hai trường ở cuối). Có vẻ như thật phiền khi tái tạo mọi lĩnh vực một cách thủ công khi tôi chỉ muốn thêm một điều nhỏ - vì vậy có lẽ đây đã là một điều.

Hoặc có cách nào để dễ dàng nói với sự thống nhất để thực hiện bản vẽ mặc định cho một loại trường cụ thể không? Khi tôi chơi với cái này trước đây, tôi phải cam kết chính xác những gì sẽ được hiển thị và tôi sẽ cần phải viết thủ công từng trường --- thật khó chịu nếu các trường công khai trong (các) lớp của tôi thay đổi - và chúng làm thường xuyên trong quá trình phát triển.

tl; dr - có cách nào để mô phỏng hành vi mặc định của thanh tra trong trình chỉnh sửa tùy chỉnh không?

Câu trả lời:


6

Gọi hàm này từ bên trong phương thức OnInspectorGUI để vẽ trình kiểm tra tự động. Nó rất hữu ích khi bạn không muốn làm lại toàn bộ thanh tra, nhưng bạn muốn thêm một vài nút vào nó.

http://docs.unity3d.com/ScriptReference/Editor.DrawDefaultInspector.html

// This example shows a custom inspector for an
// object "MyPlayer", which has a variable speed.
using UnityEngine;
using UnityEditor;
using System.Collections;

[CustomEditor(typeof(MyPlayer))]
public class Example : Editor
{
    public override void OnInspectorGUI()
    {
        MyPlayer targetPlayer = (MyPlayer)target;
        EditorGUILayout.LabelField ("Some help", "Some other text");

        targetPlayer.speed = EditorGUILayout.Slider ("Speed", targetPlayer.speed, 0, 100);

        // Show default inspector property editor
        DrawDefaultInspector ();
    }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.