summaryrefslogtreecommitdiff
path: root/src/game-server
diff options
context:
space:
mode:
Diffstat (limited to 'src/game-server')
-rw-r--r--src/game-server/quest.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/game-server/quest.h b/src/game-server/quest.h
index 05caa6ab..0d130789 100644
--- a/src/game-server/quest.h
+++ b/src/game-server/quest.h
@@ -42,23 +42,21 @@ class QuestCallback
class QuestThreadCallback : public QuestCallback
{
public:
- QuestThreadCallback(void (*handler)(Character *,
- const std::string &value,
- Script *mScript),
+ typedef void (*Handler)(Character *,
+ const std::string &value,
+ Script *mScript);
+
+ QuestThreadCallback(Handler handler,
Script *script) :
mHandler(handler),
mScript(script)
{ }
- virtual void triggerCallback(Character *ch,
- const std::string &value) const
+ void triggerCallback(Character *ch, const std::string &value) const
{ mHandler(ch, value, mScript); }
private:
- void (*mHandler)(Character *,
- const std::string &value,
- Script *mScript);
-
+ Handler mHandler;
Script *mScript;
};
@@ -69,8 +67,7 @@ class QuestRefCallback : public QuestCallback
mQuestName(questName)
{ script->assignCallback(mRef); }
- virtual void triggerCallback(Character *ch,
- const std::string &value) const;
+ void triggerCallback(Character *ch, const std::string &value) const;
private:
Script::Ref mRef;