Болванка для редактора-чего-нибудь

Раздел, посвящённый всему, что связано с программированием для Редактора Юнити. Скрипты Редактора, Wizards и прочее.

Re: Болванка для редактора-чего-нибудь

Сообщение Neodrop 30 мар 2011, 21:54

Конечно можно. Только хто это будет делать?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Болванка для редактора-чего-нибудь

Сообщение aler 28 янв 2012, 12:40

Можно отредактировать первый пост и использовать тег <syntax=csharp></syntax>?
Аватара пользователя
aler
UNIверсал
 
Сообщения: 351
Зарегистрирован: 20 фев 2011, 17:41

Re: Болванка для редактора-чего-нибудь

Сообщение Masancho 08 апр 2016, 12:12

gnoblin писал(а):
Синтаксис:
Используется csharp
using UnityEngine;
using UnityEditor;
using System.Collections;
using System.Collections.Generic;

public class ScreenListItem
{
    public string name;
    public List<ScreenButton> button_list;

    public ScreenListItem()
    {
        button_list = new List<ScreenButton>();
    }
    public ScreenListItem(string screen_name):this()
    {
        name = screen_name;
    }

}

public class ScreenButton
{
    public string name;
    public ScreenButton()
    {
    }

    public ScreenButton(string _name)
    {
        name = _name;
    }
}

public class UI_LogicWindow : EditorWindow
{

   
    [MenuItem("UserInterface/UI_LogicWindow")]
    static void Init()
    {

        UI_LogicWindow window = (UI_LogicWindow)EditorWindow.GetWindow(typeof(UI_LogicWindow));
        window.Show();
    }

   

    public static List<ScreenListItem> screen_list = new List<ScreenListItem>();
    ScreenListItem screen;
    void OnGUI()
    {
        if (GUILayout.Button("Сохранить"))
        {
           
        }

        if(GUILayout.Button("Добавить Экран"))
        {
            screen_list.Add(new ScreenListItem("Экран "+screen_list.Count));
        }

        for (int i = 0; i < screen_list.Count; i++)
        {
            GUILayout.BeginHorizontal();
           
            if (GUILayout.Button(screen_list[i].name))
            {
            }
            if (GUILayout.Button("Добавить кнопку"))
            {
                screen_list[i].button_list.Add(new ScreenButton("Кнопка"));
            }
            if (GUILayout.Button("X"))
            {
                screen_list.Remove(screen_list[i]);
                continue;
            }
            GUILayout.EndHorizontal();

            for (int j = 0; j < screen_list[i].button_list.Count; j++)
            {
                GUILayout.BeginHorizontal();
                if (GUILayout.Button(screen_list[i].button_list[j].name))
                {

                }
                if (GUILayout.Button("x"))
                {
                    screen_list[i].button_list.Remove(screen_list[i].button_list[j]);
                }
                GUILayout.EndHorizontal();
            }
        }
       
    }
}


Эта штука добавит в меню пункт или что-то другое?
Мне собственно интересно, ведь по аналогии в скрипт на объекте можно добавить кнопки, по нажатию которых в режиме редактора уже произойдут изменения? Есть ли описание или примеры такого?
Masancho
UNIт
 
Сообщения: 51
Зарегистрирован: 05 мар 2016, 12:14

Re: Болванка для редактора-чего-нибудь

Сообщение Tolking 08 апр 2016, 17:46

Пункт меню и окошко. Это секретные данные: http://docs.unity3d.com/ru/current/Manual/ExtendingTheEditor.html
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Пред.

Вернуться в Editor

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


cron