package com.metazion.object; import com.metazion.jgd.model.PlayerData; import com.metazion.jm.net.TransmitSession; public abstract class Player { public static final int ONLINESTATUS_SLEEP = 0; // 数据离线玩家离线 public static final int ONLINESTATUS_OFFLINE = 1; // 数据在线玩家离线 public static final int ONLINESTATUS_ONLINE = 2; // 数据在线玩家在线 protected PlayerData playerData = null; protected TransmitSession playerSession = null; protected int onlineStatus = 0; // 数据在线状态 protected long lastTouchTime = 0; // 上次访问时间 protected long offlineHoldTime = 0; // 离线保持时间 protected boolean expired = false; // 数据过期可卸载 protected Player() { } public PlayerData getPlayerData() { return playerData; } public void setPlayerData(PlayerData playerData) { this.playerData = playerData; } public TransmitSession getPlayerSession() { return playerSession; } public void setPlayerSession(TransmitSession playerSession) { this.playerSession = playerSession; } public boolean isExpired() { return expired; } public void setExpired(boolean expired) { this.expired = expired; } public int getId() { return playerData.id; } public int getAccount() { return playerData.account; } public abstract void enter(); public abstract void leave(); public abstract void online(); public abstract void offline(); public abstract void touch(); public abstract void hold(); public abstract void tick(long interval); }