Шаблон функции запуска эффекта на виджете. Является абстрактным и не может быть вызван непосредственно.
На виджете в один момент времени может существовать не более одного эффекта / цепочки эффектов каждого типа. При запуске эффекта / цепочки эффектов имеющийся эффект / цепочка эффектов того же типа будет прерван.
-- Класс WidgetSafe или один из его наследников (зависит от типа эффекта) -- Семантика function PlayEffect( self, start, finish, timeMs, algoDesc, needEvent, eventReceivers ) -- Входные параметры self: WidgetSafe - Виджет на котором запускается эффект start: (тип зависит от типа эффекта) or nil - Начальное состояние виджета, может отсутствовать или быть не полным (в случае табличного описателя), в этом случае недостающие данные будут взяты из текущего состояния виджета finish: (тип зависит от типа эффекта) or nil - Конечное состояние виджета, может отсутствовать или быть не полным (в случае табличного описателя), в этом случае недостающие данные будут взяты из начального состояния виджета timeMs: number (int) or nil - Длительность эффекта в миллисекундах, должно быть строго положительное, в случае nil используется значение 1000. Гарантируется что итоговая длительность эффекта попадет в диапазон (timeMs, timeMs + время кадра]. algoDesc: number (int) or table or nil - описание алгоритма эффекта: nil - Значение по умолчанию - EA_MONOTONOUS_INCREASE int - Значение EA_* table - Описание алгоритма EA_* с параметрами, обязательное поле type - number (int) - значение EA_*, набор полей зависит от алгоритма (смотри описание алгоритмов эффектов) needEvent - boolean or nil - Нужно ли посылать событие EVENT_EFFECT_FINISHED по окончании данного эффекте, по умолчанию false eventReceivers - table of strings (from 1) or nil - Список системных имен аддонов (помимо аддона запустившего эффект) получателей события EVENT_EFFECT_FINISHED, по умолчанию пуст. Поле игнорируется в пользовательских дополнениях. -- Возвращаемые значения Нет