#pragma once #include "BsScriptEnginePrerequisites.h" #include "BsScriptObject.h" namespace bs { class AsyncOpEx; class BS_SCR_BE_EXPORT ScriptAsyncOpEx : public ScriptObject { public: SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "AsyncOp") ScriptAsyncOpEx(MonoObject* managedInstance, const SPtr& value); SPtr getInternal() const { return mInternal; } static MonoObject* create(const SPtr& value); private: SPtr mInternal; static bool Internal_isComplete(ScriptAsyncOpEx* thisPtr); static MonoObject* Internal_getReturnValue(ScriptAsyncOpEx* thisPtr); static void Internal_blockUntilComplete(ScriptAsyncOpEx* thisPtr); }; }