Вылетает редактор при использовании RenameAsset

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

Вылетает редактор при использовании RenameAsset

Сообщение Alexander.3 14 апр 2022, 15:30

Проблема такая, хочу поменять название so в зависимости от подгружаемой сцены. При смене названия вылетает из редактора. Самое интересное то, что при разных тестирований - бывает всё отлично, но потом снова вылетает редактор. Отловить проблему не могу, все данные передаются в Rename верно.
Вопрос, куда копать?)

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

public partial class SO_Scene : ScriptableObject, ISerializationCallbackReceiver
{
    public SceneAsset scene;
    private bool _isError = false;

    public void OnBeforeSerialize()
    {
        if (scene != null)
        {
            if (sceneName != scene.name)
            {

                sceneName = scene.name;

                string strPath = AssetDatabase.GetAssetPath(this);

                AssetDatabase.RenameAsset(strPath, sceneName);

                EditorUtility.SetDirty(this);
            }
            _isError = false;
        }
        else
        {
            if(!_isError)
            {
                sceneName = string.Empty;
                Debug.LogError("[ERROR] В SO " + this.name + " отсутствует сцена!");
                _isError = true;
            }    
        }
    }
    public void OnAfterDeserialize()
    {
    }
}
#endif
 
Alexander.3
UNец
 
Сообщения: 1
Зарегистрирован: 23 мар 2022, 11:53

Re: Вылетает редактор при использовании RenameAsset

Сообщение 1max1 15 апр 2022, 23:52

Смотри в editor.log, если там ничего нет, оберни в try и выведи ошибку вручную.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Editor

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

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