From 0c391fdbce5a079cf03e483eb6174dd47806163d Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 7 Aug 2019 21:08:47 +0800 Subject: *misc --- Source/modules/asura-base/Threads/Coroutine.h | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Source/modules/asura-base/Threads/Coroutine.h (limited to 'Source/modules/asura-base/Threads/Coroutine.h') diff --git a/Source/modules/asura-base/Threads/Coroutine.h b/Source/modules/asura-base/Threads/Coroutine.h new file mode 100644 index 0000000..d1d3a57 --- /dev/null +++ b/Source/modules/asura-base/Threads/Coroutine.h @@ -0,0 +1,40 @@ +#ifndef _ASURA_COROUTINE_H_ +#define _ASURA_COROUTINE_H_ + +#include + +#include "../Scripting/Scripting.h" + +namespace_begin(AsuraEngine) +namespace_begin(Threads) + +/// +/// lua协程,用来做一些逻辑并发操作。 +/// +class Coroutine ASURA_FINAL + : public AEScripting::Portable +{ +public: + + LUAX_DECL_FACTORY(Coroutine); + + + +private: + + /// + /// 当前协程的state + /// + lua_State* m_ThreadState; + + LUAX_DECL_METHOD(_New); + LUAX_DECL_METHOD(_Run); + +}; + +namespace_end +namespace_end + +namespace AEThreading = AsuraEngine::Threads; + +#endif \ No newline at end of file -- cgit v1.1-26-g67d0