[Editor] Получить доступ к mainTexture

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

[Editor] Получить доступ к mainTexture

Сообщение KBEP 25 мар 2014, 15:44

Есть префаб, лежит в папке Resources/Prefabs/Tiles, у префаба компонент SpriteRenderer и больше ничего. В SpriteRenderer задан спрайт Default (он сущестует, лежит в папке Resources/Terxtures/Tiles), материал выставлен в Sprite-Default, всё нормально задано и корректно отображается. Но пытаюсь получить доступ к мэинТекстуре t, но всегда null возвращает. В чём может быть проблема? М. б. надо не в OnEnable это делать? Вот сам скрипт (лежит в папке Editor):
Синтаксис:
Используется csharp
using UnityEngine;
using UnityEditor;
using System.Collections;
using System.IO;

[CustomEditor (typeof(Grid))]
public class NewEditorScript : Editor
{
        public void OnEnable()
        {
                GameObject tile = Resources.Load<GameObject>("Prefabs/Tiles/Default");
                if (tile == null)
                {
                        Debug.Log ("No tile.");
                        return;
                }
                SpriteRenderer sr = tile.GetComponent<SpriteRenderer>();
                if (sr == null)
                {
                        Debug.Log ("No SpriteRenderer.");
                        return;
                }
                Material sm = sr.sharedMaterial;
                if (sm == null)
                {
                        Debug.Log ("No Material.");
                        return;
                }
                Texture t = sm.mainTexture;//проблема тут
                if (t == null)
                {
                        Debug.Log ("No Texture.");
                        return;
                }
        }
}
Аватара пользователя
KBEP
Старожил
 
Сообщения: 598
Зарегистрирован: 24 сен 2012, 23:23
Откуда: Калининград, СПб, Северодвинск

Вернуться в Editor

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

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