Перейти к содержанию

Дайджесты за январь-февраль

Обновления гайдов и аддонов

Январь Февраль

Мониторинг серверов и редактор аддонов

Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.

Мониторинг серверов Редактор аддонов

Подсказки из игры на вашем сайте

Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.

Подробнее

Апдейтер аддонов

Представляем вам программу для автообновления аддонов и делимся подробностями.

Подробнее Скачать

Как отследить виджет другого аддона?


GRuSHa

Рекомендуемые сообщения

Доброго времени суток.

Помогите решить проблему.

Как аддоном отследить виджет другого аддона?

Допустим у меня есть аддон, mainform называется Form1 и мне нужно из другого аддона отследить Form1:IsVisible() как это сделать?

 

Ссылка на комментарий
Поделиться на другие сайты

Чтобы понять структуру виджетов, используй https://alloder.pro/files/file/101-inspect-widgets/

 

Виджеты располагаются в виде дерева, начинаясь от stateMainForm, детьми которого являются mainForm'ы аддонов.

 

Если mainForm'ы двух аддонов называются одинаково, то их не отличить друг от друга если не знать наверняка что у одного из них есть ребенок с определенным названием.

 

Хотя могу в чем-то и ошибаться. Например если вызов идет из аддона, который является хозяином одного из двух Form1, то можно использовать выражение :IsEqual(mainForm) чтобы выяснить является ли данная форма (ребенок стейт мейн формы) мейн формой данного аддона.

 

А вообще я бы советовал называть их по-своему, т.е. каждому аддону свое уникальное название.

Ссылка на комментарий
Поделиться на другие сайты


local w=stateMainForm:GetChildChecked( "Имя аддона прописанное в MainForm", true ):GetChildChecked( "Скорее всего MainPanel", true )

w:IsVisible()

Ссылка на комментарий
Поделиться на другие сайты

Если известно имя виджета, то можно подписаться на изменение состояния его видимости.

    wtContextShipPlate = (common.GetAddonMainForm( "ContextShipPlate" )):GetChildChecked( "Plate", false )
    wtContextShipPlate:SetOnShowNotification(true)
    common.RegisterEventHandler(VisibleContextShipPlate, "EVENT_WIDGET_SHOW_CHANGED")

 

Ссылка на комментарий
Поделиться на другие сайты

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...

Важная информация

Пользуясь сайтом, вы принимаете Условия использования