RFC (Remote Function Call)
//N - число аргументов (от 0 до 7)
class MBSL_RFCN<Class ReturnType, Class Arg1, ..., Class ArgN> : Managed
{
//Конструктор. Требует передать название модификации (пространство имён)
//А также название функции в этой модификации (пространстве имён).
void MBSL_RFCN(string modname, string functionname);
//Вызвать удалённую функцию с указанными аргументами и получить Promise результата
MBSL_Promise<ReturnType> Invoke(Arg1 arg1, ..., ArgN argN, PlayerIdentity recipient = NULL);
}
//N - число аргументов (от 0 до 7)
//Вариант, возвращающий PromiseRef
class MBSL_RFCNRef<Class ReturnType, Class Arg1, ..., Class ArgN> : Managed
{
//Конструктор. Требует передать название модификации (пространство имён)
//А также название функции в этой модификации (пространстве имён).
void MBSL_RFCNRef(string modname, string functionname);
//Вызвать удалённую функцию с указанными аргументами и получить Promise результата
MBSL_PromiseRef<ReturnType> Invoke(Arg1 arg1, ..., ArgN argN, PlayerIdentity recipient = NULL);
}
//Вариант без аргументов
class MBSL_RFC0<Class ReturnType> : Managed
{
//Конструктор. Требует передать название модификации (пространство имён)
//А также название функции в этой модификации (пространстве имён).
void MBSL_RFC0(string modname, string functionname);
//Вызвать удалённую процедуру с указанными аргументами
MBSL_Promise<ReturnType> Invoke(PlayerIdentity recipient = NULL);
}Last updated