/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.jonathan.citrus.game.protocol; import com.jonathan.citrus.game.logic.login.LoginRequest; import com.jonathan.citrus.game.logic.login.LoginResponse; import com.jonathan.citrus.game.logic.player.Player; import com.jonathan.citrus.network.PacketBuilder; import com.jonathan.citrus.network.Session; import org.jboss.netty.channel.ChannelFutureListener; /** * * @author Jonathan */ public abstract class OSRSInteractions implements BasicGameInteractions { protected final Player player; public OSRSInteractions(Player player) { this.player = player; } public static void sendLoginResponse(LoginRequest request, LoginResponse resp) { Session session = request.getSession(); if(session != null && session.isConnected()) { PacketBuilder bldr = new PacketBuilder(); bldr.put((byte) resp.intValue()); if (resp.intValue() == 2) { Player player = (Player) session.getAttachment(); bldr.put((byte) player.getRights()); bldr.put((byte) 0); bldr.putShort(player.getIndex()); //player index bldr.put((byte) 0); session.write(bldr.toPacket()); player.sendLogin(); } else if(resp.intValue() == 21) { bldr.put((byte) request.getWorkTime()); session.write(bldr.toPacket()); } else { session.write(bldr.toPacket()).addListener(ChannelFutureListener.CLOSE); } } } }