53 lines
1.3 KiB
C++
53 lines
1.3 KiB
C++
#include "plugin.h"
|
|
|
|
#include <iostream>
|
|
#include <string>
|
|
#include <map>
|
|
|
|
extern "C" {
|
|
|
|
class EventsPlugin : public CppPlugin {
|
|
public:
|
|
virtual void onLoad();
|
|
virtual void onEnable();
|
|
virtual void onDisable();
|
|
virtual std::map<std::string, eventfptr> getEvents();
|
|
};
|
|
|
|
void EventsPlugin::onLoad() {
|
|
std::cout << "Events::onLoad();" << std::endl;
|
|
}
|
|
|
|
void EventsPlugin::onEnable() {
|
|
std::cout << "Events::onEnable();" << std::endl;
|
|
}
|
|
|
|
void EventsPlugin::onDisable() {
|
|
std::cout << "Events::onDisable();" << std::endl;
|
|
}
|
|
|
|
CppPlugin* init() {
|
|
return new EventsPlugin();
|
|
}
|
|
|
|
void eventJoin(JNIEnv* env, CppPlugin* pl, Event* e) {
|
|
jstring msg = (jstring) e->getData(env, "joinMessage");
|
|
std::string jmsg(env->GetStringUTFChars(msg, 0));
|
|
std::cout << "join " << e->getName() << " old join message: " << jmsg << std::endl;
|
|
jstring newmsg = env->NewStringUTF("Ein Spieler ist dem Spiel beigetreten!");
|
|
e->setData("joinMessage", newmsg);
|
|
}
|
|
|
|
void eventQuit(JNIEnv* env, CppPlugin* pl, Event* e) {
|
|
std::cout << "quit " << e->getName() << std::endl;
|
|
}
|
|
|
|
std::map<std::string, eventfptr> EventsPlugin::getEvents() {
|
|
std::cout << "EventsPlugin::getEvents" << std::endl;
|
|
std::map<std::string, eventfptr> out;
|
|
out.insert({"PlayerJoinEvent", eventJoin});
|
|
out.insert({"PlayerQuitEvent", eventQuit});
|
|
return out;
|
|
}
|
|
|
|
}//extern "C"
|