public override void OnInspectorGUI() { serializedObject.Update(); // Обновление иследуменого скрипта #region Отрисовка контролов // --- [ Кнопка "Открыть в редакторе" ] --- // if (GUILayout.Button("Открыть в редакторе")) { BoardDataEditorWindow.Open((BoardData)target); } EditorGUILayout.Space(10); // --- [ Поля "Столбца / строки" ] --- // DrawInputTableFields(); EditorGUILayout.Space(); // --- [ Кнопка "To Upper" ] --- // ToUpperButton(); // --- [ Таблица с символами ] --- // if (DataInstance.Board != null && DataInstance.Columns > 0 && DataInstance.Rows > 0) { DrawTable(); } EditorGUILayout.Space(10); // --- [ Кнопка "Очистиить" ] --- // EditorGUILayout.BeginHorizontal(); ClearBoardButton(); // --- [ "Заполнить случайными" ] --- // FillUpWithRandomLetters(); EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(10); // --- [ Список слов ] --- // _dataOrder.DoLayoutList(); #endregion // Применение изменений и отметка для сцены, что состояние изменено serializedObject.ApplyModifiedProperties(); if (GUI.changed) { EditorUtility.SetDirty(DataInstance); } }
public static bool OpenEditor(int instance, int line) { var selected = EditorUtility.InstanceIDToObject(instance); if (selected as BoardData != null) { BoardDataEditorWindow.Open((BoardData)selected); return(true); } else if (selected as TempData != null) { TempDataEditorWindow.Open((TempData)selected); return(true); } return(false); }