DragAndDrop с заменой типа

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

DragAndDrop с заменой типа

Сообщение AABB 11 авг 2018, 10:17

Я подумал, неплохо было бы написать скрипт-помощник, который меняет тип текстуры, когда ты перетаскиваешь обычную текстуру в поле для спрайта (и наоборот) в любом компоненте. Так вот, тип объекта, который перетаскивают, узнать легко, а как узнать когда мышь находится над полем нужного типа?

Синтаксис:
Используется csharp
using UnityEngine;
using UnityEditor;

[InitializeOnLoad]
public class ConvertTex2DToSprite
{
    static ConvertTex2DToSprite()
    {
        SceneView.onSceneGUIDelegate += TrackDrag =>
        {
            //Тип перетаскиваемого объекта
            for (int i = 0; i < DragAndDrop.objectReferences.Length; i++)
                Debug.Log(DragAndDrop.objectReferences[i].GetType());

            //Тип поля под курсором
            //???
        };
    }
}
 
AABB
UNIт
 
Сообщения: 134
Зарегистрирован: 05 фев 2014, 15:52

Re: DragAndDrop с заменой типа

Сообщение ilkalawson 11 авг 2018, 12:51

Ни как! Или писать для этого свой ObjectField или проверять BeginChangeCheck последнего измененного поля. Проще проверять не над каким полем курсор а над каким объектом.
ilkalawson
UNIверсал
 
Сообщения: 412
Зарегистрирован: 19 янв 2015, 20:38
Skype: lawsonunity


Вернуться в Editor

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

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