rendered paste body /**
* Loads the packet handling classes from the persistence
* manager.
*/
protected void loadPacketHandlers() {
PacketHandlerDefContainer handlerDefs =
(PacketHandlerDefContainer) PersistenceManager.load("PacketHandlers.xml");
for (PacketHandlerDef handlerDef : handlerDefs.getPacketHandlerDefs()) {
try {
String className = handlerDef.getClassName();
Class c = Class.forName(className);
if (c != null) {
PacketHandler handler = (PacketHandler) c.newInstance();
for (int packetID : handlerDef.getAssociatedPackets()) {
if (handler instanceof GameEnginePacketHandler) {
((GameEnginePacketHandler) handler).setGameEngine(this);
}
packetHandlers.put(packetID, handler);
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
/**
* Processes incoming packets.
*/
protected void processIncomingPackets() {
List<Packet> packets = packetQueue.getPackets();
for (Packet p : packets) {
IoSession session = p.getSession();
PacketHandler handler = packetHandlers.get(p.getID());
if (handler != null) {
handler.handlePacket(p, session);
} else {
System.out.println("--Unhandled packet--");
System.out.println(p);
}
}
}