All pastes #259198 Raw Edit

Something

public text v1 · immutable
#259198 ·published 2006-11-27 05:42 UTC
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);
			}
		}
	}