Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package server;
- import client.*;
- import java.util.*;
- import server.maps.MapleMapFactory;
- import java.sql.*;
- /**
- *
- * @author FateJiki
- */
- public class PlayerTransfer {
- public static List<MapleCharacter> transferList = new ArrayList<MapleCharacter>();
- // public static HashMap<Integer,MapleCharacter> transferList = new HashMap<Integer,MapleCharacter>(); //CharacterID -> MapleCharacter
- public static void addCharacter(MapleCharacter chr){
- synchronized(transferList){
- if(!transferList.contains(chr)){
- transferList.add(chr);
- // if(!transferList.containsKey(chr.getId())) {
- // transferList.put(chr.getId(), chr); //put for haspmap insted of add
- }
- }
- }
- public static MapleCharacter retrieveCharacter(int cid, MapleClient c) /*throws SQLException*/ {
- MapleCharacter chr = null;
- synchronized(transferList){
- for(MapleCharacter xferList : transferList){
- if(xferList.getId() == cid){
- chr = xferList;
- chr.client = c;
- updateCServer(chr);
- }
- }
- if(chr == null){
- try {
- chr = MapleCharacter.loadCharFromDB(cid, c, true);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- return chr;
- }
- public static void removeCharacter(int cid){
- synchronized(transferList){
- for(MapleCharacter removeList : transferList){
- if(removeList.getId() == cid){
- transferList.remove(removeList);
- }
- }
- }
- }
- private synchronized static void updateCServer(MapleCharacter ret){
- MapleClient client = ret.getClient();
- MapleMapFactory mapFactory = client.getChannelServer().getMapFactory();
- ret.map = mapFactory.getMap(ret.mapid);
- if (ret.map == null) {
- ret.map = mapFactory.getMap(ret.mapid);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement