Гайд Оформление инспектора

Начинающий
Статус
Оффлайн
Регистрация
25 Авг 2019
Сообщения
292
Реакции[?]
15
Поинты[?]
1K
Код:
[SerializeField] private int k;
Код:
[HideInInspector] public int p;
Код:
[Range(1, 100)] public float p;
slider.png
Код:
[Header("Text")]
text.png
Код:
[Space]
space.png
Код:
[Tooltip("Text")]
Пожалуйста, авторизуйтесь для просмотра ссылки.
Позволяет работать скрипту в редакторе
Код:
[ExecuteInEditMode]
Код:
[TextArea(1,3)]
Пожалуйста, авторизуйтесь для просмотра ссылки.

Продвинутое
Для начало создадим скрипт, который хотим редактировать
Код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class adfs : MonoBehaviour
{
    public string MyTextArea;
    public string title;
    public int id;
    public float count;
    public bool toggle;
    public Sprite icon;
}

Создаем скрипт редактор

C#:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(adfs))] // Вместо adfs, напишите свое названия скрипта
public class EditorAdfs : Editor
{
    adfs _adfs;
    public override void OnInspectorGUI()
    {
        var style = new GUIStyle(GUI.skin.button); // добавить стиль для кнопки
            style.normal.textColor = Color.red;
            style.fontStyle = FontStyle.Bold;

        _adfs = target as adfs; // обязательно

        GUILayout.BeginVertical("HelpBox"); // контрольная группа
        GUILayout.Label("General item settings", EditorStyles.boldLabel); // добавить этикетку
        _adfs.id = EditorGUILayout.IntField("ID", _adfs.id); // Сделать текстовое поле для ввода целых чисел.
        _adfs.toggle = EditorGUILayout.Toggle("is Trade", _adfs.toggle); // Выбранное состояние переключателя
        _adfs.title = EditorGUILayout.TextField("Name", _adfs.title); // Сделать текстовое поле для ввода текста
        _adfs.icon = (Sprite)EditorGUILayout.ObjectField("Item icon", _adfs.icon, typeof(Sprite), false); // false - нельзя брать объект со сцены, true - можно брать объект со сцены
        if (GUILayout.Button("Button", style)) // style - стиль кнопки
        {

        }
        GUILayout.EndVertical(); // закрыть контрольную группу (Желательно добавить в избежание багов)
    }
}
Получилось:
Пожалуйста, авторизуйтесь для просмотра ссылки.

Скрипт редактор перемещать на объект не надо!
 
Последнее редактирование:
Ты че баклан, дефективный?
Пользователь
Статус
Оффлайн
Регистрация
18 Мар 2019
Сообщения
813
Реакции[?]
64
Поинты[?]
2K
Код:
[SerializeField] private int k;
Код:
[HideInInspector] public int p;
Код:
[Range(1, 100)] public float p;
Посмотреть вложение 192479
Код:
[Tooltip("Text")]
Пожалуйста, авторизуйтесь для просмотра ссылки.
Позволяет работать скрипту в редакторе
Код:
[ExecuteInEditMode]
Если есть еще какие нибудь выкладывай!
 
Начинающий
Статус
Оффлайн
Регистрация
25 Авг 2019
Сообщения
292
Реакции[?]
15
Поинты[?]
1K
Обновил!
Добавил Продвинутое
Код:
[SerializeField] private int k;
Код:
[HideInInspector] public int p;
Код:
[Range(1, 100)] public float p;
Посмотреть вложение 192479
Код:
[Tooltip("Text")]
Пожалуйста, авторизуйтесь для просмотра ссылки.
Позволяет работать скрипту в редакторе
Код:
[ExecuteInEditMode]
Код:
[TextArea(1,3)]
Пожалуйста, авторизуйтесь для просмотра ссылки.

Продвинутое
Для начало создадим скрипт, который хотим редактировать
Код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class adfs : MonoBehaviour
{
    public string MyTextArea;
    public string title;
    public int id;
    public float count;
    public bool toggle;
    public Sprite icon;
}

Создаем скрипт редактор

C#:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(adfs))] // Вместо adfs, напишите свое названия скрипта
public class EditorAdfs : Editor
{
    adfs _adfs;
    public override void OnInspectorGUI()
    {
        var style = new GUIStyle(GUI.skin.button); // добавить стиль для кнопки
            style.normal.textColor = Color.red;
            style.fontStyle = FontStyle.Bold;

        _adfs = target as adfs; // обязательно

        GUILayout.BeginVertical("HelpBox"); // контрольная группа
        GUILayout.Label("General item settings", EditorStyles.boldLabel); // добавить этикетку
        _adfs.id = EditorGUILayout.IntField("ID", _adfs.id); // Сделать текстовое поле для ввода целых чисел.
        _adfs.toggle = EditorGUILayout.Toggle("is Trade", _adfs.toggle); // Выбранное состояние переключателя
        _adfs.title = EditorGUILayout.TextField("Name", _adfs.title); // Сделать текстовое поле для ввода текста
        _adfs.icon = (Sprite)EditorGUILayout.ObjectField("Item icon", _adfs.icon, typeof(Sprite), false); // false - нельзя брать объект со сцены, true - можно брать объект со сцены
        if (GUILayout.Button("Button", style)) // style - стиль кнопки
        {

        }
        GUILayout.EndVertical(); // закрыть контрольную группу (Желательно добавить в избежание багов)
    }
}
Получилось:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Скрипт редактор не куда перемещать не надо!
 
Сверху Снизу