⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 callbackhandler.h

📁 魔兽世界的私服源程序
💻 H
字号:
#ifndef _CALLBACKHANDLER_H
#define _CALLBACKHANDLER_H
#include "ScriptHandler.h"
#include "ScriptEvent.h"
#include "HandlerTemplates.h"
#include "WorldThread.h"

class CallbackHandler
{
	ScriptCallbackList ScriptCallbacks;
	CallbackList Callbacks;
	WorldThread *Parent;
	lua_State *L;
	wxStopWatch *sw;
public:
	CallbackHandler(WorldThread*);
	~CallbackHandler(void);
	void StartTest();
	void StopTest();

	void RegisterScriptCallback(luabind::functor<int> function,luabind::object table);
	void DoCallbackLoop()
	{
		Callbacks.Call();
		ScriptCallbacks.Call();
	}
	template<class T>
	CallbackFunctor * RegisterCallback(T* obj,long (T::*m)())
	{
		CallbackFunctor *F = new MemberCallbackFunctor<T>(Parent->GetStopWatch(),obj,m);
		Callbacks.Attach(F);
		return F;
	}
	CallbackFunctor * RegisterCallback(long (*f)())
	{
		CallbackFunctor *F = new FunctionCallbackFunctor(Parent->GetStopWatch(),f);
		Callbacks.Attach(F);
		return F;
	}
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -