Решил, я значит сделать красивый компонент. Решил сделать кнопку которая добавляет новое поле. Кусок кода:
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; [CustomEditor(typeof(Starter))] public class StarterEditor : Editor < /// /// Компонент /// private Starter starter; /// /// Получение компонента при активации /// public void OnEnable() < starter = (Starter)target; >/// /// Изменение вида компонента /// public override void OnInspectorGUI() < int count = starter.managers.Count; EditorGUILayout.IntField(«Размер», count); //Если уже есть Менеджеры в памяти, то вывести их список if (starter.managers.Count >0) < foreach( var manage in starter.managers) < int index = starter.managers.IndexOf(manage); starter.managers[index] = (Manager.ManagerBase)EditorGUILayout.ObjectField(«Менеджер», manage, typeof(Manager.ManagerBase), false); >> else < /* Если елементов в списке нету */ EditorGUILayout.LabelField(«Нет елементов в списке»); >//Кнопка добавления нового менеджера if (GUILayout.Button(«Добавить менеджер»)) < Manager.ManagerBase newManager = (Manager.ManagerBase)EditorGUILayout.ObjectField(«Менеджер», null, typeof(Manager.ManagerBase), false); >> >
Но что бы я не вводил в if () <> конструкция не исполняется. Всё подключил, и унаследовал класс от Editor. Буду рад любой помощи.
Отслеживать
Дима Сурок
задан 1 сен 2018 в 18:08
Дима Сурок Дима Сурок
519 4 4 серебряных знака 19 19 бронзовых знаков
Весь код покажите. Унаследовали от EditorWindow и выводите в OnGUI ?
1 сен 2018 в 18:56
Добавил весь код
1 сен 2018 в 19:31
А сам клик по кнопке отрабатывает визуально?
2 сен 2018 в 7:51
Да, клик срабатывает.
2 сен 2018 в 17:28
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Метод OnInspectorGUI выполняется каждый кадр пока окно инспектора активно. Соответственно if (GUILayout.Button(«Добавить менеджер»)) тоже проверяется каждый кадр, а отрисовка поля, которое находится внутри условия происходит только в том кадре, в котором условие возвращает true.
В итоге, при нажатии кнопки — создаётся переменная newManager, в которую записывается результат отрисовки поля. После чего с переменной вы ничего не делаете и она просто удаляется при выходе из метода, как следствие в следующем кадре кнопка уже не нажата, с результатом вы ничего не сделали и поле уже опять не рисуется.
Если бы вы вставили внутрь нажатия кнопки банальный Debug.Log(«Я тутъ»); , то и сами бы прекрасно увидели в консоли, что нажатие кнопки отрабатывается, как и всё, что написано внутри условия.
Выходом является, например, лист ваших Manager.ManagerBase , в который по клику GUILayout.Button(«Добавить менеджер») вы будете добавлять новый экземпляр класса. А в основном теле метода OnInspectorGUI вы через цикл foreach можете рисовать по полю для каждого экземпляра, который есть в этом листе.
Кнопка на механической клавиатуре не работает и нажимается несколько раз
Сейчас вы рисуете напрямую из target, можете напрямую в него тогда и добавлять, чтобы ничего особо не переписывать.
Из соседнего вашего вопроса я понял, что Manager.ManagerBase — наследуется от ScriptableObject , это значит, что создать его через new() у вас не выйдет и вам придётся воспользоваться примерно такой комбинацией, чтобы сохранить новый экземпляр в файловую систему:
if (GUILayout.Button(«Добавить менеджер»)) < Manager.ManagerBaseobj = ScriptableObject.CreateInstance(); AssetDatabase.CreateAsset(obj, «путь до папки»); //здесь вы можете добавить только что созданный ассет в список на отрисовку >
Источник: ru.stackoverflow.com
Почему комп зависает намертво и ничего нельзя сделать: причины и решения
Всем привет! Работая долгие годы с компьютерами, я периодически встречаюсь с проблемой, когда компьютер зависает намертво и его приходится перезагружать. Иногда это происходит при определенных условиях: во время игры, проигрывания музыки, при запуске или работе в определенной программе. Проблема может появляться в любой момент вне зависимости от каких-то условий. На самом деле это самая сложная проблема, так как она может иметь две основные причины: программную и аппаратную.
В первую очередь проверьте питание, которое идет от розетки, очень часто кабель от блока питания вываливается или еле-еле достает до компьютера. Также проверьте другие провода, которые идут от монитора до системного блока. Выключите все подключенные устройства к USB-портам кроме клавиатуры и мыши. Далее я расскажу, почему при включении или работе периодически полностью зависает компьютер наглухо, и что нужно делать.
ПОМОЩЬ СПЕЦИАЛИСТА! Если статья вам не поможет, то вы можете обратиться ко мне в комментариях. Обязательно укажите характеристики компьютера, а также подробно опишите ситуацию.
ШАГ 1: Драйвера
В первую очередь проследите в какой момент происходит зависание. Вам нужно примерно определить виновника, а именно программу, которая ведет к заморозке компьютера. Принцип достаточно простой, если компьютер зависает во время игры, то скорее всего нужно обновить драйвер на видеокарту.
Если картинка встает при запуске музыки или проигрывании видео, то тут может быть проблема со звуковой картой. Особенно это актуально, если изначально был установлен кривой драйвер. Вот что я бы сделал:
- Откройте «Диспетчер устройств» – этот пункт находится в «Свойствах» компьютера.

- Открываем раздел «Видеоадаптеры», нажимаем правой кнопкой мыши по вашей видюхе и удаляем устройство. Аналогично проделываем и со звуковой картой.

- После этого, будучи подключенным к интернету нажимаем по кнопке обновления конфигурации оборудования, которая находится в верхней панели. Эти же устройства можно обновить и вручную, или просто перезагрузив компьютер.

Я бы ещё попробовал вручную найти драйвер этого устройства в интернете, потому что в данном способе дрова скачиваются с серверов Microsoft, и они тоже могут быть поломаны. Если у вас ноутбук, то зайдите на официальный сайт производителя ноутбука, перейдите в раздел поддержки и скачайте все свежие драйвера. Вам нужно будет ввести полное наименование модели или серийный номер – эту информацию можно найти на этикетке под корпусом ноута.
ВНИМАНИЕ! При выборе драйверов нужно выбрать нужную версию операционной системы и не ошибиться с битностью. Эту информацию можно посмотреть аналогично в «Свойствах» компа.

Драйвер видеокарты можно найти аналогично на официальных сайтах:
И конечно же нужно обновить драйвера на материнскую плату. Их стоит скачивать только с официальной страницы производителя, но для начала стоит узнать полное название материнки. Для этого:
- Запускаем консоль с правами админа.

wmic baseboard get product
wmic baseboard get Manufacturer

- Первая выведет модель, а вторая производителя – этой информации достаточно, чтобы найти официальную страницу и скачать драйвера с интернета.
ШАГ 2: Чистка системы
В первую очередь вспомните, не устанавливали ли вы ранее какие-то программы и приложения, после которых начался весь этот бардак. Чистку мы начнем именно с удаления лишних программ в системе:
- Зайдите в «Панель управления». В Windows 7 нужно перейти в «Пуск», а в Виндовс 10, нажать на клавиши и R и вписать команду:

- Переходим в «Программы и компоненты».

- Теперь вам нужно пройтись по всем установленным приложениям и удалить, все лишнее и не нужное – то что вы не используете.

Теперь нам нужно зайти в раздел «Автозагрузка» и посмотреть, какие программы висят при запуске ОС. В Windows 7 нужно нажать на клавиши и R и прописать команду:

В винде десятке кликаем правой кнопкой мыши по кнопке «Пуск» и вызываем «Диспетчер задач».

На вкладке «Автозагрузка» расположены все программы, которые работают сразу при загрузке системы. Отключите все кроме антивирусной программы. Если вы увидите что-то с названиями NVIDIA или AMD, то тоже отключите – это не драйвера, а программы, которые в теории не особо нужны. После этого перезагружаем комп.

Далее нужно скачать и установить программу CCleaner. После запуска на вкладке «Стандартная очистка» выполняем «Анализ» и потом нажимаем по кнопке «Очистки». При этом все программы, которые работают, нужно закрыть.

То же самое нужно сделать на вкладке «Реестр».

ШАГ 3: Проверка и чистка компьютера
Нам нужно снять боковую крышку компьютера и почистить его от пыли. Особенно это касается самых горячих мест: видеокарта и процессор. Желательно также поменять термопасту, если вы давно этого не делали. Проверьте, чтобы все цепи питания были плотно подключены к устройствам. Можно даже попробовать вытащить и переподключить коннекторы от блока питания.

Можно проверить температурный режим в процессоре и видеокарте в той же программе AIDA64. Если температура очень высокая, то скорее всего проблема именно в термопасте.

ШАГ 4: Оперативная память и жесткий диск
В первую очередь давайте проверим жесткий диск. Для этого можно использовать любую из предложенных программ:
- HDD Health, HDDLife
- Hard Disk Sentinel
- HDD Victoria
Программы покажут вам оценку вашего носителя.

Далее нужно обязательно проверить оперативную память. Это можно сделать несколькими способами. Можно воспользоваться средствами Windows – нажимаем + R и прописываем mdsched.

Или воспользоваться сторонней программой memtest86+. Её можно запустить как в уже установленной винде, так и из-под BIOS с помощью загрузочной флешки. Есть ещё третий способ проверки оперативы – нужно вытащить все плашки памяти кроме одной и тестировать работу в таком режиме. Если виновник будет найден, то нужно будет заменить поломанную плашку.
ШАГ 5: Гибернация, режим сна, быстрый запуск
Смотрите, в операционной системе есть так называемый файл hibefil.sys – в нем в упакованном виде хранится вся операционная система и драйвера. Этот файл используется в трех режимах:
- При выходе из режима сна.
- Быстрый запуск.
- Режим гибернации.
Как правило, на большинства новых компьютерах работает режим быстрого запуска – он позволяет быстрее запустить систему, так как Windows сразу же распаковывается из файла hibefil.sys. Если файл поломан и в нем есть проблемы – при запуске вы будете наблюдать проблемы:
- Зависание системы.
- Проблему со звуком и изображением.
- Ошибки при запуске некоторых программ.
- Система не грузится или вываливает синий экран.
Но проблема пропадает, если перезагрузить компьютер. Все дело в том, что при перезагрузке система грузится напрямую, а не с файла hibefil.sys. Если вы наблюдаете проблему при включении, выходе из сна или режима гибернации, вот ряд советов, которые вам должны помочь:
- Как отключить быстрый запуск в Windows.
- Как отключить режим сна.
- Как отключить режим гибернации.
Если объединить все вместе, то вам нужно просто убрать из системы использования файла hibefil.sys.
ШАГ 6: Причины и действия
Читатель, если ты читаешь эти строки, то скорее всего тебе ничего не помогло (из того, что я уже писал выше). А значит проблема кроется, скорее всего, в железе. Причин может быть несколько:
- Если вы недавно установили новую видеокарту, то в первую очередь проверьте, чтобы мощности вашего блока питания хватало для работы всей системы.
- Проблема может крыться в SSD – тогда его можно попробовать перепрошить.
- Пробуйте зайти в BIOS и отключить режим «Turbo Mode» – этот режим увеличивает частоту процессора в играх или программах.

- Если есть возможность, то попробуйте подключить другой блок питания.
В качестве последнего совета, я бы установил на комп новую систему. Особенно это касается случаев, когда вы до этого меняли какие-то комплектующие (видеокарту, материнскую плату, процессор и т.д.).
Источник: wifigid.ru
Клавиатура компьютера не реагирует на нажатия – как снять блокировку
Вашей кошке нравится гулять по столу, за которым стоит компьютер, и теперь клавиатура не реагирует на команды? На вашем ноутбуке некоторые клавиши перестали работать? Не отчаивайтесь. Возможно, внимательно проверив состояние клавиатуры или изменив некоторые системные настройки, вы сможете решить проблему самостоятельно.
Я не могу гарантировать вам 100% безопасное решение – если клавиатура сломана и у вас нет навыков, чтобы отремонтировать её самостоятельно, вам придётся обратиться к специалисту или даже заменить её – но если вы попытаетесь использовать мои советы о том, как разблокировать клавиатуру ПК, я могут вас приятно удивить.
Вы готовы заняться этим? Если ваш ответ утвердительный, не теряйте больше времени, уделите несколько минут себе и попробуйте реализовать различные решения, которые вы найдёте ниже: если вам повезёт, вы сможете разблокировать клавиатуру компьютера, не обращаясь ни к кому за помощью (кроме меня).

Приятного чтения и удачи во всём!
Предварительные операции
Перед выполнением любой другой операции, поскольку вы не можете использовать клавиатуру, активируйте виртуальную клавиатуру на своем ПК: эта предварительная операция позволит вам настроить виртуальную клавиатуру для использования с мышью для ввода текста и доступа ко всем настройкам, когда вам нужно будет разблокировать «физическую» клавиатуру компьютера.
Чтобы активировать виртуальную клавиатуру в Windows, с помощью мыши откройте меню «Пуск» → Специальные возможности Windows (Все программы → Стандартные → Специальные возможности, если вы используете версию Windows более раннюю, чем 10) и вызовите экранную клавиатуру.

Проверьте клавиши блокировки
Если ваша клавиатура не полностью заблокирована, но ведёт себя странно, например, она не позволяет вам вводить буквы, а только цифры и символы, ваша проблема может быть связана со случайным нажатием одной из клавиш блокировки.
Фактически, на клавиатурах ПК есть клавиши, называемые замками, которые при нажатии изменяют поведение всех остальных клавиш. Если говорить более детально, то есть клавиша Num Lock , которая активирует набор цифр и символов, есть клавиша Caps Lock , которая активирует набор заглавных букв, и клавиша Scroll Lock , которая позволяет использовать клавиши со стрелками для прокрутки текстового окна вместо перемещения курсора.
Как правило, на клавиатурах настольных ПК клавиши блокировки характеризуются наличием световых индикаторов, сигнализирующих об их активации (так что вы можете легко увидеть их состояние). Чтобы активировать или деактивировать их, просто нажмите на один раз.
На ноутбуках ситуация иная: клавиши блокировки часто связаны с функциональными клавишами (например, F11 или F12 ), и для их активации или деактивации необходимо нажимать их вместе с клавишей Fn .
Если отключение клавиш блокировки не помогло, вы можете попытаться разблокировать клавиатуру, удерживая нажатой клавишу Shift в течение нескольких секунд или удерживая одновременно левую и правую клавиши Shift в течение нескольких секунд. Попробуйте – это ничего не стоит!
Проверьте соединения и электропитание клавиатуры
Очень часто, когда вы сталкиваетесь с проблемой, вы склонны думать о худшем и недооценивать тривиальные решения, которые затем оказываются эффективными. В свете сказанного, хотя это может показаться банальным советом, я предлагаю вам проверить соединения и источник питания клавиатуры.
- Клавиатура подключена кабелем – убедитесь, что клавиатура подключена правильно и не имеет повреждений (что может привести к неисправности периферийного устройства).
- Беспроводная клавиатура – убедитесь, что батареи заряжены и USB-ключ, используемый для связи с ПК (или адаптер Bluetooth), правильно подключены к компьютеру.
Ещё один тест, который вы можете сделать, – это перезагрузить компьютер, войти в BIOS и посмотреть, работает ли клавиатура внутри последнего. Если клавиатура не заблокирована в BIOS, это означает, что у неё нет аппаратных проблем и, следовательно, она не работает из-за проблем с программным обеспечением.
Очистите клавиатуру
Ваша клавиатура работает, но некоторые клавиши не реагируют? Тогда, вероятно, внутри неё скопилась пыль или другие загрязнения. Чтобы устранить проблему, вам необходимо очистить клавиатуру.

Для этого возьмите очень тонкую отвертку или другой инструмент, чтобы поднимать клавиши, баллончик со сжатым воздухом, изопропиловый спирт и ватный тампон, и используйте их для тщательной очистки клавиатуры.
После того, как вы нашли то, что вам нужно, чтобы очистить клавиатуру, отключите её от компьютера (если у вас настольный компьютер) или, если у вас ноутбук, отключите его от источника питания. Затем переверните его вверх дном и несколько раз похлопайте по спине, чтобы «переместить» пыль, крошки и другие загрязнения, накопившиеся с течением времени.
На этом этапе аккуратно подденьте застрявшие клавиши с помощью отвертки (или специального инструмента, который вы решили использовать), выполните общую очистку клавиатуры сжатым воздухом и используйте ватный тампон, смоченный в спирте, для очистки внутренних поверхностей клавиш. По окончании процедуры опустите клавиши, и они снова должны работать нормально.
Если, несмотря на очистку, клавиши по-прежнему не работают, извините, но вам просто нужно купить новые клавиши и установить их, следуя руководству производителя.
Настройте специальные возможности
Часто проблемы, связанные с блокировкой клавиатуры, связаны с тривиальными проблемами конфигурации Windows, в частности, со случайной активацией функций, связанных с доступностью (которые, как легко понять, позволяют вам изменить поведение клавиатуры в соответствии с потребности тех, кто по тем или иным причинам не может использовать эту периферию «стандартным» способом).
Чтобы изменить настройки, относящиеся к специальным возможностям в Windows, нажмите кнопку «Пуск» (значок флажка в нижнем левом углу экрана), введите «Панель управления » в открывшемся меню и выберите классическую панель управления Windows из результатов поиска.
В открывшемся окне щелкните значок Специальные возможности, выберите пункт Изменение параметров клавиатуры (под заголовком «Центр специальных возможностей») и снимите флажки с параметров специальных возможностей:

- Включить залипание клавиш – функция, которая позволяет составлять комбинации клавиш, нажимая только одну клавишу за раз, вместо того, чтобы удерживать одну или несколько клавиш и одновременно нажимать другие.
- Включить озвучивание переключений – включение или отключение звуковых сигналов при нажатии клавиш блокировки, таких как Num Lock, Caps Lock и Scroll Lock.
- Включить фильтрацию ввода – функция игнорирования или замедления коротких или повторяющихся нажатий клавиш.
Как только вы отключите эти настройки, клавиатура должна разблокироваться и снова заработать правильно.
При желании можно оставить функции специальных возможностей включенными и предотвратить их автоматическую активацию нажатием определенных клавиш на клавиатуре. Часто проблемы с «блокировкой» клавиатуры возникают из-за случайного нажатия клавиш, таких как Shift , в течение длительного времени или несколько раз подряд.
Чтобы отключить автоматическую активацию функций специальных возможностей без полного отказа от них, нажмите на элемент Настройка залипания клавиш и Настройка фильтрации ввода на панели управления (область «Специальные возможности») и снимите флажок с таких опций, как «Включать залипание клавиш при пятикратном нажатии Shift» и «Включать режим фильтрации ввода при удерживании правой клавиши Shift более 8 секунд».
Переустановите клавиатуру в диспетчере устройств
В некоторых случаях клавиатура не распознается компьютером из-за проблем с драйверами. Удаление устройства из Диспетчера устройств (панель Windows, которая позволяет вам управлять всеми устройствами внутри ПК или подключенными к нему) позволит системе снова обнаружить его, что может решить проблему очень быстрым способом.
Чтобы удалить клавиатуру из диспетчера устройств, нажмите кнопку «Пуск» правой кнопкой мыши и выберите «Диспетчер устройств» в открывшемся меню.
В открывшемся окне выберите пункт Показать скрытые устройства из меню Вид (вверху), затем разверните элемент Клавиатуры, щёлкните правой кнопкой мыши название вашей клавиатуры, выберите в открывшемся меню пункт Удалить устройство и подтвердите удаление.

Когда закончите, перезагрузите компьютер, и Windows снова должна распознать клавиатуру, что позволит вам использовать её.
Проверьте программы, которые блокируют клавиатуру
Если вы используете компьютер совместно с другими пользователями (например, членами вашей семьи), блокировка клавиатуры может быть вызвана программным обеспечением, установленным для этой цели. Существует специальное программное обеспечение, предназначенное для предотвращения использования клавиатуры и мыши в определенных обстоятельствах.
Если вы подозреваете, что кто-то из членов вашей семьи или друзей мог установить подобное решение на ваш компьютер, перейдите в меню «Пуск» → «Параметры Windows» (значок шестерёнки, расположенный в меню «Пуск»), выберите пункт «Приложения» – откроется список программ, установленных на вашем компьютере: если среди них есть «подозрительные», которые, по вашему мнению, могут повлиять на работу клавиатуры, удалите их, нажав на их название, а затем нажмите кнопку Удалить .
Если вы используете версию Windows старше 10, вы можете получить доступ к списку программ, установленных на вашем ПК, выбрав «Пуск» → «Панель управления» и выбрав «Удалить программу» в открывшемся окне.
Запустите проверку на вирусы
Маловероятно, что вирусы заблокируют клавиатуру вашего компьютера (обычно они наносят гораздо больший урон!). В любом случае, если ни одно из упомянутых до сих пор решений не помогло, попробуйте установить хороший антивирус и запустите полное сканирование системы.
В случае дальнейших проблем
Если после применения всех предложений, содержащихся в предыдущих параграфах, вы продолжаете спрашивать себя, как разблокировать клавиатуру компьютера, который не реагирует, очевидно, вы продолжаете сталкиваться с проблемами, связанными с её использованием.
Что ж, скорее всего, это связано с аппаратными проблемами рассматриваемого устройства. Как их решить? Если ваша клавиатура или ноутбук всё ещё находятся на гарантии, вы можете попробовать связаться со службой поддержки производителя и попросить заменить или отремонтировать устройство.
Если же, с другой стороны, идти по этому «пути» невозможно, подумайте о покупке новой клавиатуры.
Источник: windows-school.ru