Оглавление

Менеджер контекста

Путь: /sdk/add_on/contextmgr/

CContextMgr - класс, спроектированный для управления несколькими скриптами одновременно, поддерживает параллельные скрипты и короутины.

Если приложение не нуждается в выполнении нескольких скритов одновременно, менеджер не нужен.

Можно использовать несколько менеджеров контекста, например один будет управлять группой внутриигровых обьектов, а другой - элементами графического интерфейса.

Отметим, что класс менеджера контекста не был спроектирован для мультипоточного использования, так что будте аккуратны вызывая скрипты из разных потоков.

Рекомендуется:
Примеры Параллельные скрипты и Короутины

Public C++ interface

class CContextMgr
{
public:
  CContextMgr();
  ~CContextMgr();

  void SetGetTimeCallback(TIMEFUNC_t func);
  void RegisterThreadSupport(asIScriptEngine *engine);
  void RegisterCoRoutineSupport(asIScriptEngine *engine);
  asIScriptContext *AddContext(asIScriptEngine *engine, int funcId);
  asIScriptContext *AddContextForCoRoutine(asIScriptContext *currCtx, int funcId);
  void ExecuteScripts();
  void SetSleeping(asIScriptContext *ctx, asUINT milliSeconds);
  void NextCoRoutine();
  void AbortAll();
};

Перевод - arroy.one@gmail.com. При копировании материалов указывайте ссылку на источник.