API UO WaitMenu - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
ClassicUO / Basic IDE
Оглавление · Алфавитный указатель · Menus & Context Menus
Reads or updates the current client UI/Gump state through the registered Basic/ClassicUO UI route.
UO.WaitMenu(prompt:String, choice:String) -> Unit
UO.WaitMenu(MenuCaption:Any, ElementCaption:Any) -> Unit
UO.WaitMenu(prompt1:String, choice1:String, prompt2:String, choice2:String) -> Unit
UO.WaitMenu(prompt1:String, choice1:String, prompt2:String, choice2:String, prompt3:String, choice3:String) -> Unit
Регистр имени не важен. Any — динамическое значение Basic; Unit — отсутствие возвращаемого значения. Integer — знаковое 32-битное число, Decimal — число с плавающей точкой. Правила типов, serial, индексов и ожиданий.
| Имя | Назначение |
|---|---|
prompt |
Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже. |
choice |
Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже. |
MenuCaption |
Позиционный аргумент этой перегрузки. Подробности использования указаны в описании/фактической ветви runtime ниже. |
ElementCaption |
Named runtime value (runtime value); use the exact registered/saved name expected by WaitMenu. |
prompt1 |
Text/String value (String); pass literal text as a quoted BASIC string. |
choice1 |
Text/String value (String); pass literal text as a quoted BASIC string. |
prompt2 |
Text/String value (String); pass literal text as a quoted BASIC string. |
choice2 |
Text/String value (String); pass literal text as a quoted BASIC string. |
prompt3 |
Text/String value (String); pass literal text as a quoted BASIC string. |
choice3 |
Text/String value (String); pass literal text as a quoted BASIC string. |
Параметры обязательны внутри каждой показанной сигнатуры. Опустить аргумент можно только при наличии более короткой перегрузки; пропуск позиции посередине не подразумевается.
MenuCaption — Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes.
-
ElementCaption— Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes. -
prompt1— Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes. -
choice1— Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes. -
prompt2— Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes. -
choice2— Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes. -
prompt3— Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes. -
choice3— Quoted BASIC string. Fixed keywords/enums, when present, are listed in Behavior/Notes.
Возвращает: Unit — значения нет. Выполняйте вызов отдельной строкой; его нельзя использовать как проверку успеха. Эффект и ограничения зависят от команды.
Каждый блок — самостоятельный скрипт из мануала проекта. Параметры демонстрационного объекта/контейнера и условия действия необходимо сопоставить с вашей игровой ситуацией.
SUB Main()
UO.WaitMenu(0, 0)
END SUBSUB Main()
UO.WaitMenu(0, 0, 0, 0)
END SUBSUB Main()
UO.WaitMenu(0, 0, 0, 0, 0, 0)
END SUBSUB Main()
UO.WaitMenu('example', 'example')
END SUBSUB Main()
VAR arg1 = 'example' # prompt1
VAR arg2 = 'example' # choice1
VAR arg3 = 'example' # prompt2
VAR arg4 = 'example' # choice2
VAR arg5 = 'example' # prompt3
VAR arg6 = 'example' # choice3
UO.WaitMenu(arg1, arg2, arg3, arg4, arg5, arg6)
END SUBSUB Main()
UO.WaitMenu('example', 'example', 'example', 'example')
END SUBSUB Main()
IF UO.Connected THEN
VAR arg1 = 'example' # prompt
VAR arg2 = 'example' # choice
UO.WaitMenu(arg1, arg2)
END IF
END SUBSUB RunAction()
VAR arg1 = 'example' # prompt
VAR arg2 = 'example' # choice
UO.WaitMenu(arg1, arg2)
END SUB
SUB Main()
# Запуск процедуры выполняет действие:
RunAction()
END SUBРеализация и проверка контракта
InjectionScript.Runtime.InjectionApiUO+<>c__DisplayClass38_0.<RegisterStealthCompatibility>b__0InjectionScript.Runtime.InjectionApiUO.WaitMenu
Соответствующая ветвь совместимого обработчика в InjectionApiUO.cs. Arg(i)/Text(i) читают позицию с нуля; bridge обращается к клиенту. Прямые типизированные перегрузки перечислены выше и могут иметь отдельный маршрут.
bridge.WaitMenu(arguments.Select(value => value.ToString()).ToArray()); return InjectionValue.Unit;Источник реестра и отчёт сверки. Примеры проверяются загрузчиком/парсером включённого runtime. Действия на игровом сервере этой проверкой не исполняются.