Message Listener

This commit is contained in:
Clisprail
2014-05-05 14:13:28 +02:00
parent 137fc18f4e
commit 2a5937ebe5
4 changed files with 73 additions and 8 deletions
@@ -0,0 +1,36 @@
package org.rev317.min.api.events;
/**
*
* @author Everel, Matt
*
*/
public final class MessageEvent {
private int type;
private String name;
private String message;
public static final int TYPE_GENERIC = 0;
public static final int TYPE_PLAYER = 2;
public static final int TYPE_TRADE = 4;
public static final int TYPE_DUEL = 8;
public MessageEvent(final int type, String name, String msg) {
this.type = type;
this.name = name;
this.message = msg;
}
public final String getMessage() {
return message;
}
public final int getType() {
return type;
}
public final String getSender() {
return name;
}
}
@@ -0,0 +1,12 @@
package org.rev317.min.api.events.listeners;
import org.rev317.min.api.events.MessageEvent;
public interface MessageListener {
public void messageReceived(MessageEvent event);
}
@@ -0,0 +1,15 @@
package org.rev317.min.callback;
import org.rev317.min.api.events.MessageEvent;
import org.rev317.min.script.ScriptEngine;
public class MessageCallback {
public static final void messageListenerHook(int type, String name, String message) {
final MessageEvent messageEvent = new MessageEvent(type, name, message);
ScriptEngine.getInstance().dispatch(messageEvent);
}
}
+10 -8
View File
@@ -10,6 +10,8 @@ import java.util.HashMap;
import org.parabot.core.Context;
import org.parabot.environment.api.interfaces.Paintable;
import org.parabot.environment.scripts.Script;
import org.rev317.min.api.events.MessageEvent;
import org.rev317.min.api.events.listeners.MessageListener;
/**
*
@@ -20,14 +22,14 @@ public class ScriptEngine {
private static HashMap<Context, ScriptEngine> instances = new HashMap<Context, ScriptEngine>();
private ArrayList<MouseListener> mouseListeners;
private ArrayList<MouseMotionListener> mouseMotionListeners;
//private ArrayList<MessageListener> messageListeners;
private ArrayList<MessageListener> messageListeners;
private Script script = null;
private ScriptEngine() {
this.mouseListeners = new ArrayList<MouseListener>();
this.mouseMotionListeners = new ArrayList<MouseMotionListener>();
//this.messageListeners = new ArrayList<MessageListener>();
this.messageListeners = new ArrayList<MessageListener>();
instances.put(Context.getInstance(), this);
}
@@ -63,7 +65,7 @@ public class ScriptEngine {
mouseMotionListeners.clear();
}
/*public void addMessageListener(MessageListener messageListener) {
public void addMessageListener(MessageListener messageListener) {
messageListeners.add(messageListener);
}
@@ -73,7 +75,7 @@ public class ScriptEngine {
public void clearMessageListeners() {
messageListeners.clear();
}*/
}
public void setScript(final Script script) {
this.script = script;
@@ -99,9 +101,9 @@ public class ScriptEngine {
if(script instanceof MouseMotionListener) {
addMouseMotionListener((MouseMotionListener)script);
}
/*if(script instanceof MessageListener) {
if(script instanceof MessageListener) {
addMessageListener((MessageListener)script);
}*/
}
if(script instanceof Paintable) {
Context.getInstance().addPaintable((Paintable)script);
}
@@ -145,11 +147,11 @@ public class ScriptEngine {
}
}
/*public void dispatch(MessageEvent event) {
public void dispatch(MessageEvent event) {
for(final MessageListener messageListener : messageListeners) {
messageListener.messageReceived(event);
}
}*/
}
}