Обработка событий

Как обрабатывать события при разработке сценариев квестов

Для обработки событий может использоваться конструкция, объявляемая оператором @, которая может быть присвоена к переменной.

field.OnValueChanged = @(value) { print(value); }

При вызове события будут обрабатываться все инструкции заключенные в фигурные скобки. Конструкция может принимать до 4 аргументов. Для принудительного вызова события может использоваться метод Invoke.

Примеры

class Foo
{
    Foo() {}
    
    function RequestPrint(str)
    {
        if (isset(OnPrintRequested))
        {
            OnPrintRequested.Invoke(str);
        }
    }
}

a = new Foo();
a.OnPrintRequested = @(data)
{
    print(data);
}

a.RequestPrint("String");

Last updated