CContextMgr - класс, спроектированный для управления несколькими скриптами одновременно, поддерживает параллельные скрипты и короутины.
Если приложение не нуждается в выполнении нескольких скритов одновременно, менеджер не нужен.
Можно использовать несколько менеджеров контекста, например один будет управлять группой внутриигровых обьектов, а другой - элементами графического интерфейса.
Отметим, что класс менеджера контекста не был спроектирован для мультипоточного использования, так что будте аккуратны вызывая скрипты из разных потоков.
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(); };