⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tradecenter.java

📁 一套MMORPG手机网络游戏的服务端
💻 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 + -