📄 tradecenter.java
字号:
package com.swing.game.crystal.utils;
import java.util.Map;
import java.util.HashMap;
/***
* 可以挂牌买家(ID,物品号,价格)
* 可以取消挂牌(给所有临时买家发送取消消息)
* 针对每一个卖家,都有一个临时买家列表,可以加入临时买家和删除临时买家
*/
public class TradeCenter {
private static final Map seller = new HashMap();
public TradeCenter() {}
/**
* 给卖家挂牌
* @param mid String 地图号
* @param uid String 用户名
* @param eid String 物品号
* @param price int 价格
*/
public void addSeller(String mid, String uid, String eid, int price) {
seller.put(uid, new TradeNode(mid, uid, eid, price));
}
/**
* 取消挂牌
* @param uid String 用户名
* @return Object TradeNode信息
*/
public Object removeSeller(String uid) {
return seller.remove(uid);
}
/**
* 取得具体信息
* @param uid String 卖家ID
* @return TradeNode 具体信息
*/
public TradeNode getNode(String uid) {
return (TradeNode) seller.get(uid);
}
/**
* 添加临时买家,将买家的话和地图ID用_连接在一起保存
* @param s_uid String 卖家ID
* @param b_uid String 买家ID
* @param b_mid String 买家所在地图ID
* @param b_word String 买家的话
* @return boolean 是否添加成功
*/
public boolean addBuyer(String s_uid, String b_uid, String b_mid, String b_word) {
TradeNode tn = (TradeNode) seller.get(s_uid);
if (tn != null) {
tn.temp.put(b_uid, b_mid + "_" + b_word);
return true;
}
else
return false;
}
/**
* 移除临时买家,移除玩家的话,而只返回地图ID
* @param s_uid String 卖家ID
* @param b_uid String 买家ID
* @return String 买家所在地图ID(有可能买家已经离开这个地图了,那就不管他了!)
*/
public String removeBuyer(String s_uid, String b_uid) {
TradeNode tn = (TradeNode) seller.get(s_uid);
if (tn != null)
{
String data = (String) tn.temp.get(b_uid);
return data.substring(0, data.indexOf("_"));
}
else
return null;
}
/**
* 取得所有临时买家,注意买家的数据是地图号_对话
* @param s_uid String 卖家ID
* @return Map 临时买家列表
*/
public Map getTempBuyers(String s_uid) {
TradeNode tn = (TradeNode) seller.get(s_uid);
if (tn != null)
return tn.temp;
else
return null;
}
public void clearBuyers (String s_uid) {
TradeNode tn = (TradeNode) seller.get(s_uid);
if (tn != null)
tn.temp.clear();
}
public class TradeNode {
public String mId;
public String uId;
public String eId;
public int price;
public final Map temp = new HashMap();
public TradeNode(String mid, String uid, String eid, int price) {
this.mId = mid;
this.uId = uid;
this.eId = eid;
this.price = price;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -