Главный герой псионик может установить псионический контакт с несколькими целями. Каждый псионический контакт определенного типа может быть установлен с одной целью.
Метод возвращает индексированную по типу контакта таблицу контактов. В ней по индексу типа контакта лежит или информация о контакте или nil, если нет контакта такого типа. Если главный герой не псионик, то таблица будет всегда пустой.
У контакта может быть определена длительность. Тогда в поле durationMs будет длительность этого контакта в миллисекундах. Если для такого типа контакта длительность не определена (длится сколь угодно долго), то durationMs = 0.
-- библиотека:
avatar
-- объявление:
function GetPsionicContacts()
-- параметры:
нет
-- возвращаемые значения -
Table of pairs (ключ/значение):
ключ - number (enum PSIONIC_CONTACT_XXX) - тип контакта
значение - table - таблица с информацией о контакте. Содержит поля:
unitId: ObjectId - идентификатор контактного юнита
durationMs: number (int) - длительность контакта в миллисекундах
remainingMs: number (int) - осталось миллисекунд до окончания контакта
-- пример:
local contacts = avatar.GetPsionicContacts()
local contact = contacts[ PSIONIC_CONTACT_NORMAL ]
if contact then
local normalContacterId = contact.unitId
if normalContacterId then
local name = unit.GetName( normalContacterId )
end
end
contact = contacts[ PSIONIC_CONTACT_CRUDE ]
if contact then
local normalContacterId = contact.unitId
if normalContacterId then
local name = unit.GetName( normalContacterId )
if contact.durationMs > 0 then
local remaining = contact.remainingMs / contact.durationMs
end
end
end
Типы контактов:
PSIONIC_CONTACT_NORMAL PSIONIC_CONTACT_CRUDE