Package networking.response

Source Code of networking.response.ResponseLogin

package networking.response;

import java.util.List;

import metadata.Constants;

import model.Avatar;
import model.Player;
import model.World;

import utility.GamePacket;

/**
*
* @author Xuyuan
*/
public class ResponseLogin extends GameResponse {

    private short status;
    private Player player;
    private List<Avatar> avatarList;
    private List<World> worldList;
    private List<Integer> scoreList;

    public ResponseLogin() {
        responseCode = Constants.SMSG_AUTH;
    }

    @Override
    public byte[] constructResponseInBytes() {
        GamePacket packet = new GamePacket(responseCode);
        packet.addShort16(status);

        if (status == 0) {
            packet.addInt32(player.getID());
            packet.addString(player.getUsername());

            packet.addShort16((short) avatarList.size());
            for (Avatar avatar : avatarList) {
                packet.addInt32(avatar.getID());
                packet.addString(player.getUsername());
                packet.addShort16((short) avatar.getLevel());
                packet.addInt32(avatar.getCurrency());
                packet.addString(player.getLastLogout());
            }

            packet.addShort16((short) worldList.size());
            for (World world : worldList) {
                packet.addInt32(world.getID());
                packet.addString(world.getGameName());
               
                boolean isNew = world.getPlayTime() == 0;
                packet.addBoolean(isNew);

                if (!isNew) {
                    packet.addShort16((short) world.getYear());
                    packet.addShort16((short) world.getMonth());
                    packet.addInt32((int) world.getPlayTime());
                    packet.addInt32(scoreList.get(worldList.indexOf(world)));
                }
            }
        }

        return packet.getBytes();
    }

    public void setStatus(short status) {
        this.status = status;
    }

    public void setPlayer(Player player) {
        this.player = player;
    }

    public void setAvatarList(List<Avatar> avatarList) {
        this.avatarList = avatarList;
    }

    public void setWorldList(List<World> worldList, List<Integer> scoreList) {
        this.worldList = worldList;
        this.scoreList = scoreList;
    }
}
TOP

Related Classes of networking.response.ResponseLogin

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.