55 lines
1.1 KiB
C++
55 lines
1.1 KiB
C++
#include "plugin.h"
|
|
|
|
#include <iostream>
|
|
#include <string>
|
|
#include <map>
|
|
|
|
extern "C" {
|
|
|
|
void eventJoin(CppPlugin* pl, Event* e) {
|
|
std::cout << "join " << e->getName() << std::endl;
|
|
}
|
|
|
|
void eventQuit(CppPlugin* pl, Event* e) {
|
|
std::cout << "quit " << e->getName() << std::endl;
|
|
}
|
|
|
|
class MyPlugin : public CppPlugin {
|
|
public:
|
|
virtual void onLoad();
|
|
virtual void onEnable();
|
|
virtual void onDisable();
|
|
virtual std::map<std::string, eventfptr> getEvents();
|
|
};
|
|
|
|
void MyPlugin::onLoad() {
|
|
std::cout << "onload();" << std::endl;
|
|
}
|
|
|
|
void MyPlugin::onEnable() {
|
|
std::cout << "onEnable();" << std::endl;
|
|
}
|
|
|
|
void MyPlugin::onDisable() {
|
|
std::cout << "onDisable();" << std::endl;
|
|
}
|
|
|
|
CppPlugin* init() {
|
|
std::cout << "init im plugin!" << std::endl;
|
|
return new MyPlugin();
|
|
}
|
|
|
|
std::map<std::string, eventfptr> MyPlugin::getEvents() {
|
|
std::cout << "MyPlugin::getEvents" << std::endl;
|
|
std::map<std::string, eventfptr> out;
|
|
out.insert({"PlayerJoinEvent", eventJoin});
|
|
out.insert({"PlayerQuitEvent", eventQuit});
|
|
return out;
|
|
}
|
|
/*
|
|
std::map<std::string, eventfptr> MyPlugin::getEvents() {
|
|
return std::map<std::string, eventfptr>();
|
|
}
|
|
*/
|
|
|
|
}//extern "C"
|